Commit Graph
165 Commits
Author SHA1 Message Date
leventov e0b534af23 Move all ChronicleMap closing logic into independent ChronicleHashResources. Reference contexts from ThreadLocals via ContextHolders and clear references to contexts on closing ChronicleMap. Make some closing procedures more paranoid than they were. Cache ChronicleMap's identityString and always return the same String from toIdentityString(). Add Throwables.returnOrSuppress(). 2016-12-10 21:03:20 -06:00
leventov 37d82f290a Review Exception throwing and handling throughtput the library, create specific InterProcessDeadLockException for Chronicle Map deadlocks 2016-11-19 19:14:53 -06:00
leventov 223b2d4329 Prevent leaks of ChronicleMaps though thread local contexts and supplimental OldDeletedEntriesCleanupThread, add MemoryLeakTest 2016-10-01 20:33:16 +03:00
leventov b4258fa263 Don't use synrhonized on a public object (the map itself) in ReplicatedChronicleMap.close() 2016-10-01 20:33:16 +03:00
leventov f93001dc8e Minor fixes in VanillaChronicleMap and ReplicatedChronicleMap 2016-10-01 20:33:16 +03:00
leventov 4bcdcdb8ce Update license information 2016-07-22 15:05:04 +07:00
leventov 7afe1eca13 Optimize VanillaChronicleMap.get() and getUsing() 2016-07-17 23:35:58 +07:00
leventov 7ada09a8dc Make VanillaChronicleHash.close() to wait until concurrent threads accessing the hash finish their work and don't permit new threads to come while close() is in progress and after that 2016-07-17 23:25:49 +07: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 34e942e0ff HCOLL-417 recognize modification iterators appearance cross-process 2016-01-06 03:57:30 +03:00
leventov 5191381fc5 Move reserved space for global mutable state between existing global mutable state and modification iteration bit sets of first tiers 2016-01-06 02:04:40 +03:00
leventov 97e4c12de1 HCOLL-378 #36 Add ChronicleHashBuilder.recoverPersistedTo() and ChronicleHashInstanceBuilder.recover() functionality 2016-01-04 23:24:39 +03:00
leventov b4c97ced36 Conditional update of ReplicatedGlobalMutableState.modificationIteratorInitAt 2016-01-03 04:01:17 +03:00
leventov 7847675f6f Synchronize ModificationIterator acquisition with globalMutableStateLock, add a bit set identifying already initialized modification bit sets, not to clear them twice in ModificationIterator constructor 2016-01-03 01:27:24 +03:00
leventov e20ea011e3 Add ReplicableEntry.dropChangeFor(remoteIdentifier) 2016-01-01 21:21:34 +03:00
leventov d68f151b3a Should acquire updateLock, not readLock, before iterating each segment 2015-12-31 18:47:24 +03:00
leventov 04adb466a2 Add ReplicableEntry.raiseChangedFor(), raiseChangedForAllExcept(), improve MapRemoteOperations 2015-12-30 22:33:42 +03:00
leventov b2cd5af700 Rework modification iteration and bootstrapping 2015-12-30 20:38:55 +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 c15c568473 Remove Replica.EntryCallback.onBeforeEntry() and Replica.EntryCallback.onAfterEntry() methods as unused 2015-12-26 18:27:50 +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 de8e27464c Reuse code between internal and 'API' replication: remove ReplicatedInputKeyBytesData and ReplicatedInputValueBytesData 2015-12-20 16:33:28 +03:00
leventov 268ba7f569 Reorder fields in replication message, to avoid writing value size, when deleted event is sent 2015-12-17 21:25:47 +03:00
leventov a1954f220d Remove EntryExternalizable.sizeOfEntry() 2015-12-17 20:01:24 +03:00
leventov e259be092a Remove unspecified API use in ReplicatedChronicleMap.writeExternalEntry() 2015-12-17 18:56:55 +03:00
leventov 27c8148007 Fix the prev commit e78e070 2015-12-17 18:16:51 +03:00
leventov e78e070558 Refactor entry writing to replication buffer, #62 2015-12-17 13:46:26 +03:00
leventov b362de603e Remove unused remoteOpContext() and remoteItContext() methods in ReplicatedChronicleMap 2015-12-11 18:50:10 +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
rob c9365e5238 HCOLL-403 removed another filter that was preventing all the message to be sent ( from all the nodes on bootstrap ) 2015-12-03 04:38:43 +03:00
Rob Austin b1ed4861c3 HCOLL-403 When the following setting is set on chronicle map "bootstrapOnlyLocalEntries==false", it is not sending all the entries. 2015-12-03 04:33:45 +03:00
leventov fe77012381 Read/Write ChronicleMap's boostrapping header with Wire 2015-11-25 20:37:19 +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 07b75d8b8a Allow ReplicatedChronicleMap to be accessed without configuring replicators 2015-10-22 00:19:59 +03:00
leventov 7c4b0ed10b Remove tier bulk alignment (as actually not needed) 2015-10-11 17:04:20 +03:00
leventov e1df6dc68f Fix a bug in TcpReplicator -- didn't schedule to connect to an endpoint later, when channel.socket().setTcpNoDelay(true) throws an exception 2015-10-09 15:11:08 +03:00
leventov 70fb0dd2fa Refactor: move initUsed(true) inside ChainingInterface.getContext() 2015-10-06 18:59:54 +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 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 05f94965be Refactor TimeProvider 2015-10-02 13:09:15 +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 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 4c75dfd937 Remove unused type parameter in ReplicatedMapEntryStages class 2015-09-26 22:04:10 +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 4606b64a02 Update stage-compiler version removing limitation that stage names shouldn't be prefixes of each other 2015-09-12 21:29:49 +03:00