Commit Graph
69 Commits
Author SHA1 Message Date
leventov 356b4e7eef HCOLL-201 implemented LongValue special case marshallers 2014-11-12 15:11:55 +03:00
Rob Austin 7ce19638c4 HCOLL-155 change V acquireUsing(@NotNull K key, V usingValue) to included the following
V value = getUsing(key, usingValue);

                  if (value != null)
                      return value;
2014-11-11 17:22:07 +00:00
leventov 7e6c361d4e Cleaned up MultiMaps 2014-11-11 12:10:30 +03:00
Rob Austin 94aabe3911 reverted back to allow acquireUsing to be passsed a NULL value 2014-11-11 08:56:36 +00:00
leventov daac52ba35 Changed acquireUsingLocked and getUsingLocked behaviour -- now throwing IllegalState if the given value is not reused 2014-11-10 18:14:30 +03:00
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