Commit Graph
1377 Commits
Author SHA1 Message Date
leventov c15c568473 Remove Replica.EntryCallback.onBeforeEntry() and Replica.EntryCallback.onAfterEntry() methods as unused 2015-12-26 18:27:50 +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 d060fd0c2d HCOLL-412 fix a bug in HashLookupSearch.putNewVolatile() 2015-12-24 18:31:32 +03:00
leventov 263e366ee8 Update delayed check sum on WriteLock.unlock(), and close stages only if unlocking actually done 2015-12-23 18:37:14 +03:00
leventov 9ff159987e Release writeLock after visiting each entry in HashSegmentIteration.forEachTierEntryWhile() 2015-12-23 16:30:20 +03:00
leventov 246eec8b77 Fix a bug in SegmentStages.unlinkFromSegmentContextsChain() -- didn't account for exceptional exit from nested context 2015-12-23 16:29:08 +03:00
leventov c448293788 Fix a bug -- drop changes in doRemoveCompetely() 2015-12-23 16:26:28 +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 60de795949 updateChange() should always be called after replicationStateUpdate(), because updateChange() uses the new timestamp 2015-12-20 18:33:47 +03:00
leventov dd4fa03bfe Fix wrong decrements of tierDeleted (after innerDefaultReplaceValue(), when should be before), because relocation could trigger tier change inside innerDefaultReplaceValue() 2015-12-20 18:32:53 +03:00
leventov de8e27464c Reuse code between internal and 'API' replication: remove ReplicatedInputKeyBytesData and ReplicatedInputValueBytesData 2015-12-20 16:33:28 +03:00
leventov c59b801795 Consistent 'id, timestamp' order of paramters in methods, fix bugs in ReplicatedInput.remotePut() and remoteRemove() 2015-12-19 18:03:14 +03:00
leventov 8a0dea9f05 Javadoc fixes in MapMethods 2015-12-18 16:06:05 +03:00
leventov 3773b3d60a Add methods for Engine support 2015-12-18 03:00:38 +03:00
leventov 5280dc2b60 Rename AbstractData type parameter from V to T 2015-12-18 01:09:07 +03:00
leventov 491ab42843 Remove duplicate alignReadPosition() in MapEntryStages.initValueSize() 2015-12-17 21:26:37 +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 f0bcd784b7 Remove EntryCallback.shouldBeIgnored() 2015-12-17 21:25:09 +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 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 229aeb5fdf Minor improvements related to VanillaChronicleMap.alignAddr() 2015-12-12 18:00:10 +03:00
leventov b34fcfce71 Remove unused newInstance() method in VanillaChronicleMap 2015-12-11 18:51:29 +03:00
leventov b362de603e Remove unused remoteOpContext() and remoteItContext() methods in ReplicatedChronicleMap 2015-12-11 18:50:10 +03:00
leventov 4907af142b Prefix Read/Update/WriteLock methods with checkOnEachLockOperation() 2015-12-11 18:50:01 +03:00
leventov 7a5c799a28 Remove throws IORuntimeException everywhere as redundant and deprecated 2015-12-11 16:23:45 +03:00
leventov c79b078c36 Apply timed tryLock() heuristic from commit 6c56813b5e to tryWriteLock() and tryUpgradeUpdateToWriteLock(), was used only in tryReadLock() and tryUpdateLock() 2015-12-10 17:43:50 +03:00
leventov 9390aa87a5 Replace RWU lock implementation in BigSegmentHeader with identical from VanillaReadWriteUpdateWithWaitsLockingStrategy (DRY), remove IllegalInterProcessLockStateException in favor of java.lang.IllegalMonitorStateException 2015-12-10 17:43: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 b711ca8d96 Remove unused and incomplete support of keeping exclusive lock holder thread id in segment header 2015-12-09 08:24:02 +03:00
Rob Austin e1c4b972b0 added missing
final InetSocketAddress serverInetSocketAddress =
                new InetSocketAddress(replicationConfig.serverPort());
        final Details serverDetails = new Details(serverInetSocketAddress, localIdentifier);

        attached.connector = new ServerConnector(serverDetails);
2015-12-08 17:13:25 +03:00
leventov 497cf9c470 Move MapDiagnostics to main project and make it runnable (psvm) 2015-12-08 16:33:07 +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 82988e7435 Replace outdated (pre-tiers) implementation of ReplicatedMapSegmentIteration.forEachSegmentReplicableEntryWhile() by shared code with HashSegmentIteration.forEachSegmentEntryWhile() 2015-12-06 15:19:49 +03:00
leventov dbba27660f Minor doc fixes 2015-12-06 14:49:50 +03:00
leventov 23b3eb7c7a Rename a VanillaChronicleMap.zeroOutNewlyMappedTier parameter name 2015-12-05 05:40:37 +03:00
leventov d55da160d9 Rename generic parameter Data<V> -> Data<T> 2015-12-05 05:39:56 +03:00
leventov 7c347aaec3 Make final some public API classes that are not intended for subclassing 2015-12-05 05:39:09 +03:00
leventov d5ee1f9aae Make checksum computation delayed, on lock release 2015-12-05 05:37:17 +03:00
leventov 8ea5f2dfac Make searchStatePresent() call in HashLookupSearch.putNewVolatile() independent on assertions enabled. Similar to HashLookupPos.initHashLookupPos() and segmentTier() initialization. Possible fix for #60 2015-12-03 09:58:07 +03:00
Rob Austin b7f815976c HCOLL-403 When the following setting is set on chronicle map "bootstrapOnlyLocalEntries==false", it is not sending all the entries. - this is the same issue but it was affecting chronicle engine replication 2015-12-03 04:43:28 +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