Commit Graph
194 Commits
Author SHA1 Message Date
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