leventov
|
e760af06d5
|
Make recovery procedure to be able to recovery Chronicle Map files with readiness bit not reached the disk
|
2016-02-05 19:55:10 +07:00 |
|
leventov
|
69638baf04
|
Use TextWire instead of BinaryWire for Chronicle Map's self-bootstrapping header encoding
|
2016-02-05 17:11:19 +07:00 |
|
leventov
|
7b9ccac147
|
Align persisted Chronicle Map creation with Size Prefixed Blob and Self-Bootstrapping Header specifications
|
2016-02-05 16:46:12 +07:00 |
|
leventov
|
56e5e93388
|
Hide the remaining parts of the replication API from the public eye
|
2016-01-17 17:08:13 +03:00 |
|
leventov
|
d8a8a3c319
|
Add ChronicleHashBuilder.createOrRecoverPeristedTo() method
|
2016-01-17 16:03:55 +03:00 |
|
leventov
|
dd4c2f67d8
|
Remove replication frontend implementation in favor of Chronicle Engine
|
2016-01-15 22:19:52 +03:00 |
|
leventov
|
85939d6335
|
Use shortcut ChronicleMapBuilder API in Issue58
|
2016-01-10 20:51:01 +03:00 |
|
leventov
|
021d77e973
|
HCOLL-423 throw IllegalStateException if averageKeySize() or averageKey() is called when size is statically known
|
2016-01-09 19:08:17 +03:00 |
|
leventov
|
97e4c12de1
|
HCOLL-378 #36 Add ChronicleHashBuilder.recoverPersistedTo() and ChronicleHashInstanceBuilder.recover() functionality
|
2016-01-04 23:24:39 +03:00 |
|
leventov
|
1221f11097
|
Make TimeProvider non-extensible and non-configurable; Fix a bug in
ReplicatedQueryAlloc.CleanupAction
|
2015-12-27 21:32:26 +03:00 |
|
leventov
|
1743f1c694
|
Replication updates with local identifier shouldn't use the same timestamp, because this allows two different updates which replace each other on different nodes, and don't converge. Extend default TimeProvider precision to nanoseconds, to exclude possibility of 'microsecond overflow' on frequent changes to the same entry
|
2015-12-26 17:28:35 +03:00 |
|
leventov
|
0ead52335b
|
Don't force cleanup deleted entries on alloc, if it is disabled in this ReplicatedChronicleMap
|
2015-12-25 20:39:43 +03:00 |
|
leventov
|
defaa6e7db
|
More clarity with rounding and double -> long conversions in ChronicleMapBuilder
|
2015-12-22 17:23:32 +03:00 |
|
leventov
|
832ab5c5da
|
Fix CMUseCasesTest.testMapStringIntegerValueWithoutListMarshallers()
|
2015-12-22 17:22:42 +03:00 |
|
leventov
|
7154278bb1
|
Don't account segment filling variance, if there is only one segment
|
2015-12-21 17:19:39 +03:00 |
|
leventov
|
12c8503434
|
Javadoc improvements
|
2015-12-15 14:27:56 +03:00 |
|
leventov
|
a11f79f798
|
Remove map persistence file locking, as unnecessary
|
2015-12-14 18:49:47 +03:00 |
|
leventov
|
8abe53912a
|
Make max hashLookup load factor (for tiering) greater than max 'normal'
load factor (0.66), to avoid tiering due to natural variance in segment
load. Account non-tiered segments percentile
|
2015-12-10 17:43:47 +03:00 |
|
leventov
|
2f58bfb399
|
Replace nextPosToSearchFrom with lowestPossiblyFreeChunk semantically, that allows to avoid searching free chunks though a full tier, when segment is tiered, again and again. Also, make chunk block reallocation in innerDefaultReplaceValue() and putValueDeletedEntry() check it doesn't overflow actualChunksPerSegmentTier
|
2015-12-07 07:20:47 +03:00 |
|
leventov
|
5d4161eb26
|
Use BinaryWire instead of TextWire because of predictable whitespace and bytes position after read/write
|
2015-11-27 16:29:44 +03:00 |
|
leventov
|
4faefe8ca9
|
Improve FileChannel read/write for persisted ChronicleMaps
|
2015-11-26 18:49:54 +03:00 |
|
leventov
|
fe77012381
|
Read/Write ChronicleMap's boostrapping header with Wire
|
2015-11-25 20:37:19 +03:00 |
|
leventov
|
582560ed15
|
Make ChronicleMapBuilder.entries() config obligatory for in-memory Maps and persistence-creating Maps
|
2015-11-24 23:50:41 +03:00 |
|
leventov
|
0398f7dfbf
|
HCOLL-406 #58 Don't check size configurations of ChronicleMapBuilder, if existing file is accessed
|
2015-11-24 15:42:51 +03:00 |
|
leventov
|
beec07f9a9
|
Remove Xstream XML ChronicleMap header serialization (is going to be replaced with Wire serialization soon)
|
2015-11-23 18:43:17 +03:00 |
|
leventov
|
ade2196e72
|
Java-Lang -> Chronicle-Bytes, Chronicle-Values
|
2015-11-22 22:10:39 +03:00 |
|
leventov
|
2111d1865c
|
Make all ReplicatedChronicleMap fields transient
|
2015-10-22 04:28:52 +03:00 |
|
leventov
|
0985eb71a1
|
Remove metaDataBytes (unused)
|
2015-10-22 03:45:47 +03:00 |
|
leventov
|
07b75d8b8a
|
Allow ReplicatedChronicleMap to be accessed without configuring replicators
|
2015-10-22 00:19:59 +03:00 |
|
leventov
|
a13bf449d0
|
Make value and value size configuration obligatory in ChronicleMapBuilder
|
2015-10-14 17:47:22 +03:00 |
|
leventov
|
7d35346022
|
Add package-private worstAlignment() config to ChronicleMapBuilder
|
2015-10-14 17:44:45 +03:00 |
|
leventov
|
7c4b0ed10b
|
Remove tier bulk alignment (as actually not needed)
|
2015-10-11 17:04:20 +03:00 |
|
leventov
|
0adaaa935d
|
Store segmentHeadersOffset in global Mutable state (according to spec; to make ChronicleMap file independent from current mapping page size)
|
2015-10-05 10:15:31 +03:00 |
|
leventov
|
21d5342048
|
Optimize memory in non-persisted case -- don't zero out all memory eagery; remove global mutable state duplication code in VanillaChronicleHash and ReplicatedChronicleMap; make sleep interruptible in OldEntriesCleanup thread; remove old entries cleanup duplicatation tracking; fix bugs
|
2015-10-04 07:57:12 +03:00 |
|
leventov
|
9d3ff93021
|
Default removedEntryCleanupTimeout() 1 second -> 1 minute
|
2015-10-03 05:10:54 +03:00 |
|
leventov
|
05f94965be
|
Refactor TimeProvider
|
2015-10-02 13:09:15 +03:00 |
|
leventov
|
f70d8b262a
|
Add a comment on ChronicleMapBuilder.MAX_SEGMENTS choice
|
2015-10-02 11:37:18 +03:00 |
|
leventov
|
22b964e069
|
HCOLL-392 Add entry checksums
|
2015-09-26 23:34:44 +03:00 |
|
leventov
|
01d24b0ee0
|
As ChronicleMapBuilder always cloned before Map creation, make 'replicated' an 'instance' field instead of a parameter of almost all methods
|
2015-09-26 22:04:28 +03:00 |
|
leventov
|
5a54f6a194
|
Remove stateless client
|
2015-09-25 20:39:39 +03:00 |
|
leventov
|
8870b05d86
|
HCOLL-387 add a way to limit hash lookup slots to 4 bytes
|
2015-09-23 02:02:36 +03:00 |
|
leventov
|
b113118707
|
Limit HashLookup slot size with 4 or 8 bytes, back
|
2015-09-22 23:07:54 +03:00 |
|
leventov
|
d9c771bedc
|
Make key/value size discovery more defensive, inspired by #43
|
2015-09-21 19:08:45 +03:00 |
|
leventov
|
993cbd0c4e
|
Add ChronicleHashBuilder.nonTieredSegmentsPercentile() configuration and use proper math for segment sizing
|
2015-09-20 01:39:18 +03:00 |
|
leventov
|
3370aa7dba
|
Add ChronicleHashBuilder.allowSegmentTiering() config for regressions and EntryCountMapTest
|
2015-09-18 18:14:40 +03:00 |
|
leventov
|
50662c521b
|
HCOLL-360 Small fixes
|
2015-09-17 23:37:40 +03:00 |
|
leventov
|
2eed65e80e
|
HCOLL-360 Add segment tiers
|
2015-09-17 20:58:52 +03:00 |
|
xfeep
|
7e26218940
|
Fix NoClassDefFoundError when run without xstream
|
2015-09-10 15:08:18 +03:00 |
|
leventov
|
88843fae92
|
HCOLL-343 add an option not to erase old removed entries from ReplicatedChronicleMap
|
2015-08-27 00:01:46 +03:00 |
|
leventov
|
904ecca036
|
HCOLL-343 HCOLL-227 Remove old entries from ReplicatedChronicleMap
|
2015-08-23 00:01:44 +03:00 |
|