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 |
|