Commit Graph
59 Commits
Author SHA1 Message Date
leventov 69337322ee Simplify VanillaChronicleHash.roundUpMapHeaderSize() because rational behind former complexity (considering buffering in Map header serializer) is 1) gone (because BinaryWire is used instead of built-in serialization 2) was incorrect anyway, because rounding up doesn't prevent problems with buffering 2016-01-21 15:13:29 +03:00
leventov 0ee9b64978 Rename VanillaChronicleHash.segmentSize() to tierSize() 2016-01-20 21:56:36 +03:00
leventov 72ba0e4d57 Move HashSplitting.Splitting.forSegments() method to HashSplitting interface, because interfaces could contain static methods since Java 8 2016-01-19 18:36:28 +03:00
leventov bb22985d9c Remove entriesPerSegment field from VanillaChronicleHash 2016-01-19 14:17:38 +03:00
leventov 56e5e93388 Hide the remaining parts of the replication API from the public eye 2016-01-17 17:08:13 +03:00
leventov dd4c2f67d8 Remove replication frontend implementation in favor of Chronicle Engine 2016-01-15 22:19:52 +03:00
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