Commit Graph
64 Commits
Author SHA1 Message Date
leventov 9be0d58baf Reduced accessability of multimaps 2014-11-10 18:12:47 +03:00
Peter Lawrey 6e2881a014 HCOLL-194 Add support for new MultiMaps in the future. 2014-11-10 14:12:01 +00:00
Rob Austin 0edb2252fa HCOLL-155 improved documentation 2014-11-10 13:25:59 +00:00
Rob Austin c52f6fd96a Merge remote-tracking branch 'origin/master' 2014-11-07 13:42:59 +00:00
Rob Austin 67379f0c8b HCOLL-192 onPut now returns the replacedValue ( previous value ) 2014-11-07 13:42:08 +00:00
leventov 49172e4b3b HCOLL-136 added keyMarshallers(), keySizeMarshaller() and valueSizeMarshaller() methods to Builder interfaces; removed factory field from SerializationBuilder and VanillaChronicleMap as unused 2014-11-07 16:15:37 +03:00
leventov 09008f16fe Moved more classes from net.openhft.chronicle.hash.serialization to .internal 2014-11-07 14:40:11 +03:00
leventov 4a51b129a3 Many renames, API refactorings, classes/interfaces made private to net.openhft.chronicle.map package
Conflicts:
	src/main/java/net/openhft/chronicle/map/StatelessChronicleMap.java
	src/test/java/net/openhft/chronicle/map/ChronicleMapTest.java
2014-11-07 12:10:40 +03:00
Rob Austin 130ee0f481 HCOLL-155 added java doc to - ReadContext<K, V> getUsingLocked(@NotNull K key, @NotNull V usingValue); 2014-11-05 09:32:44 +00:00
Rob Austin 39cf492171 HCOLL-155 implemented lookupUsing(K key, V value, LockType lockTypeType) for ReplicatedVanChronMap 2014-11-04 16:53:39 +00:00
Rob Austin 8e278ae62b HCOLL-155 added a kvContext.dontPutOnClose(); to imporve performance on aquireUsing(key,value) 2014-11-04 15:44:48 +00:00
Rob Austin 9dec1ed4db reverted cff7c5bea8 2014-11-04 14:44:59 +00:00
Rob Austin a0c89935f5 reverted cff7c5bea8 2014-11-04 14:29:06 +00:00
Peter Lawrey cff7c5bea8 Improve lock handling. 2014-11-02 23:39:22 +00:00
Peter Lawrey b8e82c8f19 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java
2014-11-02 23:33:43 +00:00
Peter Lawrey a489c74cf9 Improve lock handling. 2014-11-02 23:29:30 +00:00
Rob Austin 580b6aba78 HCOLL-155 cleaned up putOnClose 2014-11-02 23:18:58 +00:00
Rob Austin 2e98febfeb HCOLL-155 fixed bug around lock type 2014-11-02 18:41:02 +00:00
Rob Austin ef0cd0f96f HCOLL-155 removed acquireUsingReadLocked and acquireUsingWriteLocked to WriteContext<K,V> acquireUsingLocked(@NotNull K key, @NotNull V usingValue); and ReadContext<K,V> getUsingLocked(@NotNull K key, @NotNull V usingValue); 2014-11-02 18:35:26 +00:00
Rob Austin 118ed1676f HCOLL-155 added two of peters tests and them implemented the code accordingly - the test are net.openhft.chronicle.map.ChronicleMapTest#testOffheapAcquireUsingLocked and net.openhft.chronicle.map.ChronicleMapTest#testOnheapAcquireUsingLocked 2014-11-02 00:16:02 +00:00
Rob Austin 100d839a8b HCOLL-155 uncompleted, checked in order that Peter can review the changes so far of - chm.acquireUsingReadLocked and chm.acquireUsingWriteLocked 2014-11-01 15:53:47 +00:00
Peter Lawrey 9a6af6a6fb Select OF_4_BYTES for Byteable values. (possibly OF_8_BYTES in the future) 2014-11-01 09:26:38 +00:00
Peter Lawrey bb94e0e547 Consolidate segment headers to reduce TLB misses. Re-tune the calculated number of segments based on the size of data. 2014-10-31 17:33:10 +00:00
Peter Lawrey 4d7dd56c43 Use consistent hashing and thread local caches of StringBuilders. 2014-10-29 13:46:40 +00:00
leventov f7edfce81b HCOLL-159 moved net.openhft.chronicle.hash.threadlocal package to Lang since it isn't specific to ChronicleMap at all 2014-10-29 16:11:21 +03:00
Rob Austin 2f73cf1f39 renamed common to hash 2014-10-29 12:11:24 +00:00
Rob Austin f647f91b69 HCOLL-167 added support to delegate stateless client method calls to VChronicleMap 2014-10-28 21:29:34 +00:00
Rob Austin a4542e55a7 Cleaned up test case 2014-10-28 10:07:29 +00:00
leventov 3cf9b2e722 Employ MemoryUnit API 2014-10-28 06:44:38 +03:00
leventov 777bcddba4 Refactored L1 cache associativity contention break in VanillaChronicleMap 2014-10-28 02:11:11 +03:00
leventov d9f7e2c7cb Reverted 4eeea5b 2014-10-28 01:33:42 +03:00
Peter Lawrey 15d2f5741f Merge remote-tracking branch 'origin/master' 2014-10-27 19:49:50 +00:00
Peter Lawrey 4eeea5bc62 Stabilty release based on YCSB. 2014-10-27 19:43:35 +00:00
leventov a20ccd97c0 HCOLL-160 fixes after the prev commit 2014-10-27 20:35:09 +03:00
leventov 0c45ee8aff HCOLL-136 HCOLL-137 HCOLL-153 HCOLL-160
1. Separated ChronicleMapBuilder (for non-Byteable values) and
OffHeapUpdatableChronicleMapBuilder (for Byteable values) with common base
AbstractChronicleMapBuilder (public just to inherit common javadocs)

2. Added ChronicleHashBuilder.keyDeserializationFactory() and
AbstractChronicleMapBuilder.valueDeserializationFactory() (former
ChronicleMapBuilder.valueFactory() method)

3. Changed ChronicleMap.get(), getUsing() API and impl to what was
initially intended - now they ALWAYS returns null, if key is absent

4. acquireUsing() API, common for the cases with Byteable and non-Byteable
values: puts defaultValue or defaultValueProvider.get(key), if the key is
absent, then acquireUsing() behaves just like getUsing()

5. For off0heap updatable ChronicleMaps (Byteable values), added
prepareValueBytes() configuration which formalizes zeroing out value bytes

6. Javadoc fixes and improvements
2014-10-27 20:15:26 +03:00
Peter Lawrey a956ac2a0e Enhanced thread safety tests with the latest lang release 2014-10-27 15:59:22 +00:00
Peter Lawrey 412f9def7e Re-tune entry sizes for segments. 2014-10-27 11:24:15 +00:00
Peter Lawrey 470132d528 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java
2014-10-27 10:06:31 +00:00
Peter Lawrey d531c51021 Checkin point 2014-10-27 10:04:14 +00:00
leventov 7a86306e0b Yet another attempt to init freeList bitSet with the right length 2014-10-25 01:34:36 +04:00
leventov 58997967d7 Fixed a bug -- VanillaChronicleMap.Segment should allocate integral number of words (64-bit) for freeList (bit set) 2014-10-25 01:14:33 +04:00
leventov 061fc5b53b HCOLL-172 Verified thath IntIntMultiMap now supports up to 2^32 entries; ShortShortMultiMap up to 2^16; ChronicleMap.Segment are now long-sized; attempt to support non-power-of-2 number of segments by HashSplitting (not tested yet); improved logic and dependencies between actualSegments(), actualEntriesPerSegments() and minSegments() methods in ChronicleMapBuilder; minor fixes 2014-10-25 00:45:59 +04:00
Peter Lawrey 9ace610ca5 Fixed Javadoc errors for Java 8 2014-10-24 11:48:51 +01:00
Peter Lawrey ea779997cf Remove <p/> from copyright messages 2014-10-24 11:30:25 +01:00
Peter Lawrey c44aae129f Support read/write locking. 2014-10-24 11:23:15 +01:00
Peter Lawrey 9a8a2512f0 Tweek the sizing rules as well as optimise the hashing algo so it creates a more even distribution (for at least one set of test cases) 2014-10-23 21:20:46 +01:00
Rob Austin 3e3689be39 HCOLL-167 moved serilization and exceptions to common 2014-10-20 18:19:15 +01:00
Rob Austin 8805c12051 HCOLL-167 added readme info for #### Stateless Client, and moved code to common. 2014-10-20 18:17:37 +01:00
leventov 8f3452e974 HCOLL-136 HCOLL-137 javadoc updates and added ChronicleHashBuilder.disableReplication() method 2014-10-19 23:18:50 +04:00
leventov d11e02d48f Moved seriaization and threadlocal packages up: n.o.chronicle.map -> n.o.chronicle 2014-10-19 21:13:13 +04:00