This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch 681-handle-the-out-of-memory-errors
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git


The following commit(s) were added to 
refs/heads/681-handle-the-out-of-memory-errors by this push:
     new d3250359 Improve formatting and fix minor issues
d3250359 is described below

commit d3250359d02c7b7a37480c181f6c2a450fa9f7ea
Author: Bertil Chapuis <[email protected]>
AuthorDate: Fri Jul 14 23:23:36 2023 +0200

    Improve formatting and fix minor issues
---
 .../collection/Long2LongOpenHashDataMap.java       | 25 ++++----
 .../collection/Long2LongPackedOpenHashDataMap.java | 72 ++++++++++++++--------
 .../collection/Long2ObjectOpenHashDataMap.java     | 27 ++++----
 3 files changed, 69 insertions(+), 55 deletions(-)

diff --git 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
index 117fea28..485e85f0 100644
--- 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
+++ 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
@@ -262,8 +262,9 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
     }
     key.set(pos, k);
     value.set(pos, defRetValue + incr);
-    if (size.incrementAndGet() >= maxFill)
+    if (size.incrementAndGet() >= maxFill) {
       rehash(bigArraySize(size.get() + 1, f));
+    }
     return defRetValue;
   }
 
@@ -296,7 +297,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
   }
 
   @Override
-
   public long remove(final long k) {
     if (((k) == 0)) {
       if (containsNullKey) {
@@ -324,7 +324,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
   }
 
   @Override
-
   public long get(final long k) {
     if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defRetValue;
@@ -350,7 +349,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
   }
 
   @Override
-
   public boolean containsKey(final long k) {
     if (((k) == 0)) {
       return containsNullKey;
@@ -392,7 +390,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
    * {@inheritDoc}
    */
   @Override
-
   public long getOrDefault(final long k, final long defaultValue) {
     if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defaultValue;
@@ -434,7 +431,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
    * {@inheritDoc}
    */
   @Override
-
   public boolean remove(final long k, final long v) {
     if (((k) == 0)) {
       if (containsNullKey && ((v) == (value.get(n)))) {
@@ -641,6 +637,8 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
     }
     size.set(0);
     containsNullKey = false;
+    key.clear();
+    value.clear();
   }
 
   @Override
@@ -722,7 +720,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
      *
      * @deprecated Please use the corresponding type-specific method instead.
      */
-    @Deprecated
     @Override
     public Long getValue() {
       return value.get(index);
@@ -733,7 +730,6 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
      *
      * @deprecated Please use the corresponding type-specific method instead.
      */
-    @Deprecated
     @Override
     public Long setValue(final Long v) {
       return setValue((v).longValue());
@@ -832,7 +828,7 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
         if (--pos < 0) {
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
-          final long k = wrapped.getLong((int) -pos - 1); // TODO: check if 
-pos - 1 is correct
+          final long k = wrapped.getLong((int) -pos - 1);
           long p = (int) HashCommon.mix((k)) & mask;
           while (!(k == (key.get(p)))) {
             p = (p + 1) & mask;
@@ -1074,7 +1070,8 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
-  private final class EntrySpliterator extends
+  private final class EntrySpliterator
+      extends
       Long2LongOpenHashDataMap.MapSpliterator<Consumer<? super 
Long2LongMap.Entry>, Long2LongOpenHashDataMap.EntrySpliterator>
       implements ObjectSpliterator<Long2LongMap.Entry> {
     private static final int POST_SPLIT_CHARACTERISTICS =
@@ -1104,7 +1101,8 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
-  private final class MapEntrySet extends AbstractObjectSet<Long2LongMap.Entry>
+  private final class MapEntrySet
+      extends AbstractObjectSet<Long2LongMap.Entry>
       implements FastEntrySet {
     @Override
     public ObjectIterator<Long2LongMap.Entry> iterator() {
@@ -1126,9 +1124,7 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
       return new Long2LongOpenHashDataMap.EntrySpliterator();
     }
 
-    //
     @Override
-
     public boolean contains(final Object o) {
       if (!(o instanceof Map.Entry)) {
         return false;
@@ -1383,7 +1379,8 @@ public class Long2LongOpenHashDataMap extends 
AbstractLong2LongMap
    * {@link java.util.ListIterator#next()}/{@link 
java.util.ListIterator#previous()} methods (and
    * possibly their type-specific counterparts) so that they return values 
instead of entries.
    */
-  private final class ValueIterator extends 
Long2LongOpenHashDataMap.MapIterator<LongConsumer>
+  private final class ValueIterator
+      extends Long2LongOpenHashDataMap.MapIterator<LongConsumer>
       implements LongIterator {
     public ValueIterator() {
       super();
diff --git 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
index 679f1a0f..c293213d 100644
--- 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
+++ 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
@@ -149,6 +149,9 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     return oldValue;
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public void putAll(Map<? extends Long, ? extends Long> m) {
     if (f <= .5) {
@@ -191,6 +194,9 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public long put(final long k, final long v) {
     final long pos = find(k);
@@ -278,8 +284,10 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
-
   public long remove(final long k) {
     if (((k) == 0)) {
       if (containsNullKey) {
@@ -306,8 +314,10 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
-
   public long get(final long k) {
     if (((k) == 0)) {
       return containsNullKey ? index.get(n).right() : defRetValue;
@@ -332,8 +342,10 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
-
   public boolean containsKey(final long k) {
     if (((k) == 0)) {
       return containsNullKey;
@@ -358,6 +370,9 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean containsValue(final long v) {
     if (containsNullKey && ((index.get(n).right()) == (v))) {
@@ -375,7 +390,6 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
    * {@inheritDoc}
    */
   @Override
-
   public long getOrDefault(final long k, final long defaultValue) {
     if (((k) == 0)) {
       return containsNullKey ? index.get(n).right() : defaultValue;
@@ -610,12 +624,12 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     return newVal;
   }
 
-  /*
+  /**
    * Removes all elements from this map.
    *
-   * <p>To increase object reuse, this method does not change the table size. 
If you want to reduce
-   * the table size, you must use {@link #trim()}.
-   *
+   * <p>
+   * To increase object reuse, this method does not change the table size. If 
you want to reduce the
+   * table size, you must use {@link #trim()}.
    */
   @Override
   public void clear() {
@@ -624,19 +638,28 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
     size.set(0);
     containsNullKey = false;
-    // TODO: Arrays.fill(key, 0);
+    index.clear();
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean isEmpty() {
     return size.get() == 0;
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public long size64() {
     return size.get();
   }
 
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public int size() {
     return (int) Math.min(size64(), Integer.MAX_VALUE);
@@ -697,7 +720,6 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
      *
      * @deprecated Please use the corresponding type-specific method instead.
      */
-    @Deprecated
     @Override
     public Long getKey() {
       return Long2LongPackedOpenHashDataMap.this.index.get(index).left();
@@ -708,7 +730,6 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
      *
      * @deprecated Please use the corresponding type-specific method instead.
      */
-    @Deprecated
     @Override
     public Long getValue() {
       return Long2LongPackedOpenHashDataMap.this.index.get(index).right();
@@ -719,7 +740,6 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
      *
      * @deprecated Please use the corresponding type-specific method instead.
      */
-    @Deprecated
     @Override
     public Long setValue(final Long v) {
       return setValue(v);
@@ -753,26 +773,31 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
    * An iterator over a hash map.
    */
   private abstract class MapIterator<ConsumerType> {
+
     /**
      * The index of the last entry returned, if positive or zero; initially, 
{@link #n}. If
      * negative, the last entry returned was that of the key of index {@code - 
pos - 1} from the
      * {@link #wrapped} list.
      */
     long pos = n;
+
     /**
      * The index of the last entry that has been returned (more precisely, the 
value of {@link #pos}
      * if {@link #pos} is positive, or {@link Integer#MIN_VALUE} if {@link 
#pos} is negative). It is
      * -1 if either we did not return an entry yet, or the last returned entry 
has been removed.
      */
     long last = -1;
+
     /**
      * A downward counter measuring how many entries must still be returned.
      */
     long c = size.get();
+
     /**
      * A boolean telling us whether we should return the entry with the null 
key.
      */
     boolean mustReturnNullKey = 
Long2LongPackedOpenHashDataMap.this.containsNullKey;
+
     /**
      * A lazily allocated list containing keys of entries that have wrapped 
around the table because
      * of removals.
@@ -910,7 +935,7 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
 
     // forEachRemaining inherited from MapIterator superclass.
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> 
action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, 
final long index) {
       action.accept(entry = new 
Long2LongPackedOpenHashDataMap.MapEntry(index));
     }
 
@@ -935,7 +960,7 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
 
     // forEachRemaining inherited from MapIterator superclass.
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> 
action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, 
final long index) {
       entry.index = index;
       action.accept(entry);
     }
@@ -1085,12 +1110,12 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> 
action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, 
final long index) {
       action.accept(new Long2LongPackedOpenHashDataMap.MapEntry(index));
     }
 
     @Override
-    final Long2LongPackedOpenHashDataMap.EntrySpliterator makeForSplit(long 
pos, long max,
+    Long2LongPackedOpenHashDataMap.EntrySpliterator makeForSplit(long pos, 
long max,
         boolean mustReturnNull) {
       return new Long2LongPackedOpenHashDataMap.EntrySpliterator(pos, max, 
mustReturnNull, true);
     }
@@ -1118,9 +1143,7 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
       return new Long2LongPackedOpenHashDataMap.EntrySpliterator();
     }
 
-    //
     @Override
-
     public boolean contains(final Object o) {
       if (!(o instanceof Map.Entry)) {
         return false;
@@ -1159,7 +1182,6 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
 
     @Override
-
     public boolean remove(final Object o) {
       if (!(o instanceof Map.Entry)) {
         return false;
@@ -1273,7 +1295,7 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final LongConsumer action, final long index) {
+    void acceptOnIndex(final LongConsumer action, final long index) {
       
action.accept(Long2LongPackedOpenHashDataMap.this.index.get(index).left());
     }
 
@@ -1303,12 +1325,12 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final LongConsumer action, final long index) {
+    void acceptOnIndex(final LongConsumer action, final long index) {
       
action.accept(Long2LongPackedOpenHashDataMap.this.index.get(index).left());
     }
 
     @Override
-    final Long2LongPackedOpenHashDataMap.KeySpliterator makeForSplit(long pos, 
long max,
+    Long2LongPackedOpenHashDataMap.KeySpliterator makeForSplit(long pos, long 
max,
         boolean mustReturnNull) {
       return new Long2LongPackedOpenHashDataMap.KeySpliterator(pos, max, 
mustReturnNull, true);
     }
@@ -1391,7 +1413,7 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final LongConsumer action, final long index) {
+    void acceptOnIndex(final LongConsumer action, final long index) {
       
action.accept(Long2LongPackedOpenHashDataMap.this.index.get(index).right());
     }
 
@@ -1421,12 +1443,12 @@ public class Long2LongPackedOpenHashDataMap extends 
AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, 
final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final 
long index) {
       
action.accept(Long2LongPackedOpenHashDataMap.this.index.get(index).right());
     }
 
     @Override
-    final Long2LongPackedOpenHashDataMap.ValueSpliterator makeForSplit(long 
pos, long max,
+    Long2LongPackedOpenHashDataMap.ValueSpliterator makeForSplit(long pos, 
long max,
         boolean mustReturnNull) {
       return new Long2LongPackedOpenHashDataMap.ValueSpliterator(pos, max, 
mustReturnNull, true);
     }
diff --git 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
index 48426625..f92c66b0 100644
--- 
a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
+++ 
b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
@@ -256,7 +256,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
   }
 
   @Override
-
   public V remove(final long k) {
     if (((k) == 0)) {
       if (containsNullKey) {
@@ -284,7 +283,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
   }
 
   @Override
-
   public V get(final long k) {
     if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defRetValue;
@@ -310,7 +308,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
   }
 
   @Override
-
   public boolean containsKey(final long k) {
     if (((k) == 0)) {
       return containsNullKey;
@@ -352,7 +349,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
    * {@inheritDoc}
    */
   @Override
-
   public V getOrDefault(final long k, final V defaultValue) {
     if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defaultValue;
@@ -394,7 +390,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
    * {@inheritDoc}
    */
   @Override
-
   public boolean remove(final long k, final Object v) {
     if (((k) == 0)) {
       if (containsNullKey && java.util.Objects.equals(v, value.get(n))) {
@@ -583,8 +578,8 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
     }
     size.set(0);
     containsNullKey = false;
-    // TODO: Arrays.fill(key, 0);
-    // TODO: Arrays.fill(value, null);
+    key.clear();
+    value.clear();
   }
 
   @Override
@@ -732,7 +727,7 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
         if (--pos < 0) {
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
-          final long k = wrapped.getLong((int) -pos - 1); // TODO: check if 
-pos - 1 is correct
+          final long k = wrapped.getLong((int) -pos - 1);
           long p = HashCommon.mix((k)) & mask;
           while (!((k) == (key.get(p)))) {
             p = (p + 1) & mask;
@@ -755,7 +750,7 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
         if (--pos < 0) {
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
-          final long k = wrapped.getLong((int) -pos - 1); // TODO: check if 
-pos - 1 is correct
+          final long k = wrapped.getLong((int) -pos - 1);
           long p = HashCommon.mix((k)) & mask;
           while (!((k) == (key.get(p)))) {
             p = (p + 1) & mask;
@@ -1047,7 +1042,6 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
       return new EntrySpliterator();
     }
 
-    //
     @Override
     public boolean contains(final Object o) {
       if (!(o instanceof Map.Entry)) {
@@ -1195,7 +1189,7 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, 
final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final 
long index) {
       action.accept(key.get(index));
     }
 
@@ -1223,12 +1217,12 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
     }
 
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, 
final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final 
long index) {
       action.accept(key.get(index));
     }
 
     @Override
-    final KeySpliterator makeForSplit(long pos, long max, boolean 
mustReturnNull) {
+    KeySpliterator makeForSplit(long pos, long max, boolean mustReturnNull) {
       return new KeySpliterator(pos, max, mustReturnNull, true);
     }
   }
@@ -1301,6 +1295,7 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
    */
   private final class ValueIterator extends MapIterator<Consumer<? super V>>
       implements ObjectIterator<V> {
+
     public ValueIterator() {
       super();
     }
@@ -1310,7 +1305,7 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final Consumer<? super V> action, final long 
index) {
+    void acceptOnIndex(final Consumer<? super V> action, final long index) {
       action.accept(value.get(index));
     }
 
@@ -1338,12 +1333,12 @@ public class Long2ObjectOpenHashDataMap<V> extends 
AbstractLong2ObjectMap<V>
     }
 
     @Override
-    final void acceptOnIndex(final Consumer<? super V> action, final long 
index) {
+    void acceptOnIndex(final Consumer<? super V> action, final long index) {
       action.accept(value.get(index));
     }
 
     @Override
-    final ValueSpliterator makeForSplit(long pos, long max, boolean 
mustReturnNull) {
+    ValueSpliterator makeForSplit(long pos, long max, boolean mustReturnNull) {
       return new ValueSpliterator(pos, max, mustReturnNull, true);
     }
   }

Reply via email to