Commit Graph
53 Commits
Author SHA1 Message Date
leventov 28eeeb70e7 Remove the complexity and API-transparency of implementing and supporting built-in serializability for marshallers and core implementation classes, as this is replaced with Wire Marshallable 2016-01-14 16:07:22 +03:00
leventov 65afe387e3 Fix grammar and style of the spec 2016-01-09 19:08:16 +03:00
leventov 6ee78ba926 HCOLL-378 #36 Fix bugs in recovery 2016-01-06 00:39:36 +03:00
leventov ebee1d36c3 Fix a heuristic in VanillaChronicleHash.computeNumberOfTiersInBulk() 2016-01-06 00:37:37 +03:00
leventov 97e4c12de1 HCOLL-378 #36 Add ChronicleHashBuilder.recoverPersistedTo() and ChronicleHashInstanceBuilder.recover() functionality 2016-01-04 23:24:39 +03:00
leventov b2cd5af700 Rework modification iteration and bootstrapping 2015-12-30 20:38:55 +03:00
leventov a11f79f798 Remove map persistence file locking, as unnecessary 2015-12-14 18:49:47 +03:00
leventov 7a5c799a28 Remove throws IORuntimeException everywhere as redundant and deprecated 2015-12-11 16:23:45 +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 c8483dfb7c HCOLL-408 Trigger new segment tier allocation on hashLookup overflow 2015-12-07 12:31:28 +03:00
leventov ce45903af7 Make entries and deleted counters per-tier 2015-12-07 11:43:37 +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 23b3eb7c7a Rename a VanillaChronicleMap.zeroOutNewlyMappedTier parameter name 2015-12-05 05:40:37 +03:00
leventov 1f3fc3f785 Don't rely on default field values, when VanillaChronicleMap instance is unsafe.allocateInstance()-ed for deserialization 2015-11-27 15:25:13 +03:00
leventov 4faefe8ca9 Improve FileChannel read/write for persisted ChronicleMaps 2015-11-26 18:49:54 +03:00
leventov e29a473e05 Flush persistence file contents on ChronicleMap.close() 2015-11-26 15:31:48 +03:00
leventov 25edcf9b68 Little simplification in VanillaChronicleHash.createMappedStoreAndSegments(File) 2015-11-25 22:08:53 +03:00
leventov fe77012381 Read/Write ChronicleMap's boostrapping header with Wire 2015-11-25 20:37:19 +03:00
leventov f575218da9 Extend persistence file on mapping 2015-11-23 17:42:36 +03:00
leventov 701c1c8e52 Rename VanillaChronicleHash.msBytesSegmentOffset -> segmentOffset 2015-11-23 17:16:19 +03:00
leventov ade2196e72 Java-Lang -> Chronicle-Bytes, Chronicle-Values 2015-11-22 22:10:39 +03:00
leventov 7c4b0ed10b Remove tier bulk alignment (as actually not needed) 2015-10-11 17:04:20 +03:00
leventov 96cee73f26 Unconditional zeroing out of newly allocated memory, because 1) it is very slow in Java-Lang 6.7.3 due to a bug 2) not clear which way is better, see HCOLL-401 2015-10-07 16:51:21 +03:00
leventov 03a761ebbf Zero out last allocated tier in VanillaChronicleHash.allocateTierBulk() 2015-10-07 16:14:28 +03:00
leventov 8cb556a9c1 Change allocatedExtraTierBulks counter type from long to int 2015-10-05 10:57:42 +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 1384a56768 Align tier bulks to mapping granularity, instead of page boundary 2015-10-05 10:12:39 +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 01c81ca05b Add debug logging of extra tier allocation 2015-10-03 05:18:08 +03:00
leventov 901ce5b55c Fix a bug: tierIndexOffsetWithinBulk extracted from position in tier bulk changes bitset was used as tierIndexMinusOne; refactorings 2015-10-03 05:14:38 +03:00
leventov 71599fd4eb Proper zeroing-out mapped bytes (that could potentially be dirty), and only the bytes that are required to be zero by tier state invariants; refactorings and renamings 2015-10-03 01:38:35 +03:00
leventov 14373cc129 Rename ownInitTransients() -> initOwnTransients() 2015-10-02 02:07:38 +03:00
leventov c88340f842 Fix several bugs 2015-09-28 22:13:03 +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 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 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
leventov 904ecca036 HCOLL-343 HCOLL-227 Remove old entries from ReplicatedChronicleMap 2015-08-23 00:01:44 +03:00
leventov b5cf817b2a Zero out contents of a newly-created persisted ChronicleHash 2015-08-06 03:46:54 +03:00
leventov 2b6c871562 Reduce ChronicleMapBuilder API surface, hide private API in a class 2015-08-05 02:57:12 +03:00
leventov ff99f5cccd On the way to HCOLL-360: Rename HashLookup to CompactOffHeapLinearHashTable and make it not a stage; extracted KeySearch from HashQuery 2015-08-03 20:20:14 +03:00
leventov 9b0bfc631d Removed ChronicleHashBuilderImpl and ChronicleMapBuilder minor cleanup 2015-07-31 01:50:27 +03:00
leventov cf583d4510 Removed unused duplicating HashLookup class and package 2015-07-30 02:44:11 +03:00
leventov e7a8a11505 OHFT-58 Change license to LGPLv3 to protect redistribution 2015-07-25 23:12:23 +03:00
leventov 9fe1dab477 HCOLL-352 Changed garbage-free Chronicle-Map iterations API from old to new Contexts; Add SegmentContexts API 2015-07-24 20:11:58 +03:00
leventov 1d7f54635a HCOLL-318 added many documentation and examples; Empowerted ReplicableEntry interface, and changed Map/SetRemoteOperations contracts to allow implementing more agile reconciliation strategies 2015-06-20 05:43:34 +03:00
leventov 0c73a072eb Fix compilation issues 2015-06-15 22:00:06 +03:00
danielshaya a26a2682b2 HCOLL-301 Refactor the windows warning. 2015-06-02 18:23:30 +01:00