You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by av...@apache.org on 2018/02/14 14:35:11 UTC
[1/5] ignite git commit: IGNITE-7513 Get rid of
org.jsr166.ConcurrentHashMap8
Repository: ignite
Updated Branches:
refs/heads/master 2ab10caaa -> b4ece5fb3
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java
index cf40497..3c2bbb1 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -80,7 +81,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteInClosure;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.internal.processors.hadoop.HadoopJobPhase.PHASE_CANCELLING;
@@ -119,14 +119,14 @@ public class HadoopJobTracker extends HadoopComponent {
private HadoopMapReducePlanner mrPlanner;
/** All the known jobs. */
- private final ConcurrentMap<HadoopJobId, GridFutureAdapter<HadoopJobEx>> jobs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<HadoopJobId, GridFutureAdapter<HadoopJobEx>> jobs = new ConcurrentHashMap<>();
/** Locally active jobs. */
- private final ConcurrentMap<HadoopJobId, JobLocalState> activeJobs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<HadoopJobId, JobLocalState> activeJobs = new ConcurrentHashMap<>();
/** Locally requested finish futures. */
private final ConcurrentMap<HadoopJobId, GridFutureAdapter<HadoopJobId>> activeFinishFuts =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Event processing service. */
private ExecutorService evtProcSvc;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/HadoopExecutorService.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/HadoopExecutorService.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/HadoopExecutorService.java
index 9ad5bc1..2fbea68 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/HadoopExecutorService.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/HadoopExecutorService.java
@@ -29,7 +29,7 @@ import org.apache.ignite.internal.util.worker.GridWorker;
import org.apache.ignite.internal.util.worker.GridWorkerListener;
import org.apache.ignite.internal.util.worker.GridWorkerListenerAdapter;
import org.apache.ignite.thread.IgniteThread;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static java.util.Collections.newSetFromMap;
@@ -41,7 +41,7 @@ public class HadoopExecutorService {
private final LinkedBlockingQueue<Callable<?>> queue;
/** */
- private final Collection<GridWorker> workers = newSetFromMap(new ConcurrentHashMap8<GridWorker, Boolean>());
+ private final Collection<GridWorker> workers = newSetFromMap(new ConcurrentHashMap<GridWorker, Boolean>());
/** */
private final AtomicInteger active = new AtomicInteger();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/HadoopExternalTaskExecutor.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/HadoopExternalTaskExecutor.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/HadoopExternalTaskExecutor.java
index a0c4cf7..9dfea18 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/HadoopExternalTaskExecutor.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/HadoopExternalTaskExecutor.java
@@ -27,6 +27,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.ignite.IgniteCheckedException;
@@ -57,7 +58,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.spi.IgnitePortProtocol;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopTaskState.CRASHED;
@@ -89,10 +89,10 @@ public class HadoopExternalTaskExecutor extends HadoopTaskExecutorAdapter {
private HadoopExternalCommunication comm;
/** Starting processes. */
- private final ConcurrentMap<UUID, HadoopProcess> runningProcsByProcId = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, HadoopProcess> runningProcsByProcId = new ConcurrentHashMap<>();
/** Starting processes. */
- private final ConcurrentMap<HadoopJobId, HadoopProcess> runningProcsByJobId = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<HadoopJobId, HadoopProcess> runningProcsByJobId = new ConcurrentHashMap<>();
/** Busy lock. */
private final GridSpinReadWriteLock busyLock = new GridSpinReadWriteLock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopSharedMap.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopSharedMap.java b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopSharedMap.java
index fd72821..16d7e83 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopSharedMap.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopSharedMap.java
@@ -17,18 +17,18 @@
package org.apache.ignite.internal.processors.hadoop;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import org.jsr166.ConcurrentHashMap8;
/**
* For tests.
*/
public class HadoopSharedMap {
/** */
- private static final ConcurrentMap<String, HadoopSharedMap> maps = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<String, HadoopSharedMap> maps = new ConcurrentHashMap<>();
/** */
- private final ConcurrentMap<String, Object> map = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, Object> map = new ConcurrentHashMap<>();
/**
* Private.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopAbstractSelfTest.java b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopAbstractSelfTest.java
index 44403c2..9e592de 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopAbstractSelfTest.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopAbstractSelfTest.java
@@ -45,7 +45,7 @@ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
*/
public abstract class HadoopAbstractSelfTest extends GridCommonAbstractTest {
/** */
- private static TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+ private TcpDiscoveryIpFinder singleTestIpFinder;
/** REST port. */
protected static final int REST_PORT = ConnectorConfiguration.DFLT_TCP_PORT;
@@ -112,6 +112,15 @@ public abstract class HadoopAbstractSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
+ @Override protected void beforeTest() throws Exception {
+ super.beforeTest();
+
+ // IP finder should be re-created before each test,
+ // since predecessor grid shutdown does not guarantee finder's state cleanup.
+ singleTestIpFinder = new TcpDiscoveryVmIpFinder(true);
+ }
+
+ /** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
@@ -125,7 +134,7 @@ public abstract class HadoopAbstractSelfTest extends GridCommonAbstractTest {
TcpDiscoverySpi discoSpi = (TcpDiscoverySpi)cfg.getDiscoverySpi();
- discoSpi.setIpFinder(IP_FINDER);
+ discoSpi.setIpFinder(singleTestIpFinder);
if (igfsEnabled())
cfg.setFileSystemConfiguration(igfsConfiguration());
@@ -238,4 +247,4 @@ public abstract class HadoopAbstractSelfTest extends GridCommonAbstractTest {
protected String igfsScheme() {
return "igfs://" + igfsName + "@/";
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopCommandLineTest.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopCommandLineTest.java b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopCommandLineTest.java
index 666acdf..ce34cb2 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopCommandLineTest.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/HadoopCommandLineTest.java
@@ -46,7 +46,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
/**
* Test of integration with Hadoop client via command line interface.
@@ -246,8 +245,7 @@ public class HadoopCommandLineTest extends GridCommonAbstractTest {
String sep = ":";
String ggClsPath = HadoopJobEx.class.getProtectionDomain().getCodeSource().getLocation().getPath() + sep +
- HadoopJobTracker.class.getProtectionDomain().getCodeSource().getLocation().getPath() + sep +
- ConcurrentHashMap8.class.getProtectionDomain().getCodeSource().getLocation().getPath();
+ HadoopJobTracker.class.getProtectionDomain().getCodeSource().getLocation().getPath();
ProcessBuilder res = new ProcessBuilder();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 06c936b..361623c 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -161,7 +161,6 @@ import org.h2.tools.Server;
import org.h2.util.JdbcUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_DEBUG_CONSOLE;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_DEBUG_CONSOLE_PORT;
@@ -256,13 +255,13 @@ public class IgniteH2Indexing implements GridQueryIndexing {
private Marshaller marshaller;
/** Collection of schemaNames and registered tables. */
- private final ConcurrentMap<String, H2Schema> schemas = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, H2Schema> schemas = new ConcurrentHashMap<>();
/** */
private String dbUrl = "jdbc:h2:mem:";
/** */
- private final ConcurrentMap<Thread, Connection> conns = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Thread, Connection> conns = new ConcurrentHashMap<>();
/** */
private GridMapQueryExecutor mapQryExec;
@@ -271,7 +270,7 @@ public class IgniteH2Indexing implements GridQueryIndexing {
private GridReduceQueryExecutor rdcQryExec;
/** Cache name -> schema name */
- private final Map<String, String> cacheName2schema = new ConcurrentHashMap8<>();
+ private final Map<String, String> cacheName2schema = new ConcurrentHashMap<>();
/** */
private AtomicLong qryIdGen;
@@ -283,7 +282,7 @@ public class IgniteH2Indexing implements GridQueryIndexing {
private final Object schemaMux = new Object();
/** */
- private final ConcurrentMap<Long, GridRunningQueryInfo> runs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Long, GridRunningQueryInfo> runs = new ConcurrentHashMap<>();
/** Row cache. */
private final H2RowCacheRegistry rowCache = new H2RowCacheRegistry();
@@ -343,7 +342,7 @@ public class IgniteH2Indexing implements GridQueryIndexing {
private DdlStatementsProcessor ddlProc;
/** */
- private final ConcurrentMap<QueryTable, GridH2Table> dataTables = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<QueryTable, GridH2Table> dataTables = new ConcurrentHashMap<>();
/** Statement cache. */
private final ConcurrentHashMap<Thread, H2StatementCache> stmtCache = new ConcurrentHashMap<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2MetaTable.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2MetaTable.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2MetaTable.java
index 5e09a86..00312b8 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2MetaTable.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2MetaTable.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicLong;
import org.h2.command.ddl.CreateTableData;
@@ -43,7 +44,6 @@ import org.h2.table.TableFilter;
import org.h2.table.TableType;
import org.h2.value.Value;
import org.h2.value.ValueInt;
-import org.jsr166.ConcurrentHashMap8;
/**
* Meta table.
@@ -60,7 +60,7 @@ public class GridH2MetaTable extends TableBase {
/** */
private final Set<Session> fakeExclusiveSet = Collections.newSetFromMap(
- new ConcurrentHashMap8<Session,Boolean>());
+ new ConcurrentHashMap<Session,Boolean>());
/**
* @param data Data.
@@ -291,7 +291,7 @@ public class GridH2MetaTable extends TableBase {
*/
private static class MetaIndex extends BaseIndex {
/** */
- private final ConcurrentMap<ValueInt, Row> rows = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<ValueInt, Row> rows = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public void checkRename() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2QueryContext.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2QueryContext.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2QueryContext.java
index 91f0aef..0103676 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2QueryContext.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2QueryContext.java
@@ -29,7 +29,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.spi.indexing.IndexingQueryFilter;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode.OFF;
import static org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryType.MAP;
@@ -42,7 +42,7 @@ public class GridH2QueryContext {
private static final ThreadLocal<GridH2QueryContext> qctx = new ThreadLocal<>();
/** */
- private static final ConcurrentMap<Key, GridH2QueryContext> qctxs = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<Key, GridH2QueryContext> qctxs = new ConcurrentHashMap<>();
/** */
private final Key key;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
index 6fa561f..7c99480 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.LongAdder;
import java.util.concurrent.locks.Lock;
@@ -54,7 +55,6 @@ import org.h2.table.TableBase;
import org.h2.table.TableType;
import org.h2.value.DataType;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.DEFAULT_COLUMNS_COUNT;
@@ -92,7 +92,7 @@ public class GridH2Table extends TableBase {
private boolean destroyed;
/** */
- private final ConcurrentMap<Session, Boolean> sessions = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Session, Boolean> sessions = new ConcurrentHashMap<>();
/** */
private IndexColumn affKeyCol;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index 5fa90c1..7f49808 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
@@ -82,7 +82,6 @@ import org.apache.ignite.thread.IgniteThread;
import org.h2.jdbc.JdbcResultSet;
import org.h2.value.Value;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_CACHE_QUERY_EXECUTED;
import static org.apache.ignite.internal.managers.communication.GridIoPolicy.QUERY_POOL;
@@ -109,13 +108,13 @@ public class GridMapQueryExecutor {
private IgniteH2Indexing h2;
/** */
- private ConcurrentMap<UUID, MapNodeResults> qryRess = new ConcurrentHashMap8<>();
+ private ConcurrentMap<UUID, MapNodeResults> qryRess = new ConcurrentHashMap<>();
/** */
private final GridSpinBusyLock busyLock;
/** */
- private final ConcurrentMap<MapReservationKey, GridReservable> reservations = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<MapReservationKey, GridReservable> reservations = new ConcurrentHashMap<>();
/** Lazy workers. */
private final ConcurrentHashMap<MapQueryLazyWorkerKey, MapQueryLazyWorker> lazyWorkers = new ConcurrentHashMap<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 3b72b8e..20bf32c 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@ -99,7 +99,6 @@ import org.h2.table.Column;
import org.h2.util.IntArray;
import org.h2.value.Value;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.Collections.singletonList;
import static org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion.NONE;
@@ -134,7 +133,7 @@ public class GridReduceQueryExecutor {
private final AtomicLong qryIdGen;
/** */
- private final ConcurrentMap<Long, ReduceQueryRun> runs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Long, ReduceQueryRun> runs = new ConcurrentHashMap<>();
/** Contexts of running DML requests. */
private final ConcurrentMap<Long, DistributedUpdateRun> updRuns = new ConcurrentHashMap<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/MapNodeResults.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/MapNodeResults.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/MapNodeResults.java
index c0637ea..48116d3 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/MapNodeResults.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/MapNodeResults.java
@@ -19,7 +19,7 @@ package org.apache.ignite.internal.processors.query.h2.twostep;
import org.apache.ignite.internal.processors.query.GridQueryCancel;
import org.apache.ignite.internal.util.GridBoundedConcurrentLinkedHashMap;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.UUID;
import java.util.concurrent.ConcurrentMap;
@@ -31,10 +31,10 @@ import static org.jsr166.ConcurrentLinkedHashMap.QueuePolicy.PER_SEGMENT_Q;
*/
class MapNodeResults {
/** */
- private final ConcurrentMap<MapRequestKey, MapQueryResults> res = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<MapRequestKey, MapQueryResults> res = new ConcurrentHashMap<>();
/** Cancel state for update requests. */
- private final ConcurrentMap<Long, GridQueryCancel> updCancels = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Long, GridQueryCancel> updCancels = new ConcurrentHashMap<>();
/** */
private final GridBoundedConcurrentLinkedHashMap<Long, Boolean> qryHist =
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
index f2fef29..ee1a652 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
@@ -85,7 +85,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -1521,7 +1520,7 @@ public abstract class IgniteCacheAbstractQuerySelfTest extends GridCommonAbstrac
* @throws Exception If failed.
*/
public void testScanQueryEvents() throws Exception {
- final Map<Integer, Integer> map = new ConcurrentHashMap8<>();
+ final Map<Integer, Integer> map = new ConcurrentHashMap<>();
final IgniteCache<Integer, Integer> cache = jcache(Integer.class, Integer.class);
final boolean evtsDisabled = cache.getConfiguration(CacheConfiguration.class).isEventsDisabled();
final CountDownLatch latch = new CountDownLatch(evtsDisabled ? 0 : 10);
@@ -1625,7 +1624,7 @@ public abstract class IgniteCacheAbstractQuerySelfTest extends GridCommonAbstrac
* @throws Exception If failed.
*/
public void testTextQueryEvents() throws Exception {
- final Map<UUID, Person> map = new ConcurrentHashMap8<>();
+ final Map<UUID, Person> map = new ConcurrentHashMap<>();
final IgniteCache<UUID, Person> cache = jcache(UUID.class, Person.class);
final boolean evtsDisabled = cache.getConfiguration(CacheConfiguration.class).isEventsDisabled();
final CountDownLatch latch = new CountDownLatch(evtsDisabled ? 0 : 2);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
----------------------------------------------------------------------
diff --git a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
index deda3e8..f8554ee 100644
--- a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
+++ b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
@@ -20,7 +20,7 @@ package org.apache.ignite.osgi;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.Ignite;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
@@ -32,7 +32,7 @@ public class IgniteOsgiUtils {
private static boolean osgi = FrameworkUtil.getBundle(IgniteOsgiUtils.class) != null;
/** Maps Ignite instances to the ClassLoaders of the bundles they were started from. */
- private static final ConcurrentMap<Ignite, ClassLoader> CLASSLOADERS = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<Ignite, ClassLoader> CLASSLOADERS = new ConcurrentHashMap<>();
/**
* Private constructor.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
----------------------------------------------------------------------
diff --git a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
index 0a4cdc4..54e9699 100644
--- a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
+++ b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
@@ -18,9 +18,9 @@
package org.apache.ignite.osgi.classloaders;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
-import org.jsr166.ConcurrentHashMap8;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
@@ -32,7 +32,7 @@ import org.osgi.framework.Constants;
*/
public class ContainerSweepClassLoader extends BundleDelegatingClassLoader {
/** Classes resolved previously. */
- private final ConcurrentMap<String, Bundle> resolved = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, Bundle> resolved = new ConcurrentHashMap<>();
/** Unresolvable classes. */
private final Set<String> nonResolvable = new GridConcurrentHashSet<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java b/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
index c04eb26..93c18d4 100644
--- a/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
+++ b/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Objects;
import java.util.concurrent.ConcurrentMap;
+import java.util.function.Function;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteLock;
import org.apache.ignite.IgniteSpring;
@@ -28,7 +29,7 @@ import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
@@ -147,7 +148,7 @@ public class SpringCacheManager implements CacheManager, InitializingBean, Appli
private static final String SPRING_LOCK_NAME_PREFIX = "springSync";
/** Caches map. */
- private final ConcurrentMap<String, SpringCache> caches = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, SpringCache> caches = new ConcurrentHashMap<>();
/** Grid configuration file path. */
private String cfgPath;
@@ -174,7 +175,7 @@ public class SpringCacheManager implements CacheManager, InitializingBean, Appli
private ApplicationContext springCtx;
/** Locks for value loading to support sync option. */
- private ConcurrentHashMap8<Integer, IgniteLock> locks = new ConcurrentHashMap8<>();
+ private ConcurrentHashMap<Integer, IgniteLock> locks = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public void setApplicationContext(ApplicationContext ctx) {
@@ -374,10 +375,6 @@ public class SpringCacheManager implements CacheManager, InitializingBean, Appli
final int idx = hash % getLocksCount();
- return locks.computeIfAbsent(idx, new ConcurrentHashMap8.Fun<Integer, IgniteLock>() {
- @Override public IgniteLock apply(Integer integer) {
- return ignite.reentrantLock(SPRING_LOCK_NAME_PREFIX + idx, true, false, true);
- }
- });
+ return locks.computeIfAbsent(idx, i -> ignite.reentrantLock(SPRING_LOCK_NAME_PREFIX + idx, true, false, true));
}
}
[4/5] ignite git commit: IGNITE-7513 Get rid of
org.jsr166.ConcurrentHashMap8
Posted by av...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteTxMappingsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteTxMappingsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteTxMappingsImpl.java
index 9373bc4..b12858e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteTxMappingsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteTxMappingsImpl.java
@@ -24,14 +24,14 @@ import org.apache.ignite.internal.processors.cache.distributed.GridDistributedTx
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
*
*/
public class IgniteTxMappingsImpl implements IgniteTxMappings {
/** */
- private final Map<UUID, GridDistributedTxMapping> mappings = new ConcurrentHashMap8<>();
+ private final Map<UUID, GridDistributedTxMapping> mappings = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public void clear() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index 6b8be7e..9b75463 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -42,6 +42,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -108,7 +109,6 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.nio.file.StandardOpenOption.CREATE;
import static java.nio.file.StandardOpenOption.READ;
@@ -3091,7 +3091,7 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl
//TODO: replace with GC free data structure.
/** Parked threads. */
- final Map<Thread, Long> waiters = new ConcurrentHashMap8<>();
+ final Map<Thread, Long> waiters = new ConcurrentHashMap<>();
/**
* Default constructor.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
index b860f02..b9c24a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
@@ -50,7 +50,7 @@ import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgniteReducer;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -74,11 +74,11 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
private static final String TOPIC_PREFIX = "QUERY";
/** {request ID -> thread} */
- private ConcurrentMap<Long, Thread> threads = new ConcurrentHashMap8<>();
+ private ConcurrentMap<Long, Thread> threads = new ConcurrentHashMap<>();
/** {request ID -> future} */
private ConcurrentMap<Long, GridCacheDistributedQueryFuture<?, ?, ?>> futs =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Received requests to cancel. */
private Collection<CancelMessageId> cancelIds =
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index ea19c2f..6f21bd6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -38,7 +38,9 @@ import java.util.Queue;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import java.util.function.BiFunction;
import javax.cache.Cache;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCheckedException;
@@ -120,7 +122,6 @@ import org.apache.ignite.spi.indexing.IndexingQueryFilter;
import org.apache.ignite.spi.indexing.IndexingQueryFilterImpl;
import org.apache.ignite.spi.indexing.IndexingSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_QUIET;
import static org.apache.ignite.cache.CacheMode.LOCAL;
@@ -164,14 +165,11 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
};
/** Function to merge query detail metrics. */
- private static final ConcurrentHashMap8.BiFun QRY_DETAIL_METRICS_MERGE_FX =
- new ConcurrentHashMap8.BiFun<GridCacheQueryDetailMetricsAdapter,
- GridCacheQueryDetailMetricsAdapter, GridCacheQueryDetailMetricsAdapter>() {
- @Override public GridCacheQueryDetailMetricsAdapter apply(GridCacheQueryDetailMetricsAdapter oldVal,
- GridCacheQueryDetailMetricsAdapter newVal) {
- return oldVal.aggregate(newVal);
- }
- };
+ private static final BiFunction<
+ GridCacheQueryDetailMetricsAdapter,
+ GridCacheQueryDetailMetricsAdapter,
+ GridCacheQueryDetailMetricsAdapter>
+ QRY_DETAIL_METRICS_MERGE_FX = GridCacheQueryDetailMetricsAdapter::aggregate;
/** Default is @{code true} */
private final boolean isIndexingSpiAllowsBinary = !IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_UNWRAP_BINARY_FOR_INDEXING_SPI);
@@ -192,17 +190,17 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
private int detailMetricsSz;
/** */
- private ConcurrentHashMap8<GridCacheQueryDetailMetricsKey, GridCacheQueryDetailMetricsAdapter> detailMetrics;
+ private ConcurrentHashMap<GridCacheQueryDetailMetricsKey, GridCacheQueryDetailMetricsAdapter> detailMetrics;
/** */
- private final ConcurrentMap<UUID, RequestFutureMap> qryIters = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, RequestFutureMap> qryIters = new ConcurrentHashMap<>();
/** */
private final ConcurrentMap<UUID, Map<Long, GridFutureAdapter<FieldsResult>>> fieldsQryRes =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
- private volatile ConcurrentMap<Object, CachedResult<?>> qryResCache = new ConcurrentHashMap8<>();
+ private volatile ConcurrentMap<Object, CachedResult<?>> qryResCache = new ConcurrentHashMap<>();
/** */
private final GridSpinBusyLock busyLock = new GridSpinBusyLock();
@@ -236,7 +234,7 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
detailMetricsSz = ccfg.getQueryDetailMetricsSize();
if (detailMetricsSz > 0)
- detailMetrics = new ConcurrentHashMap8<>(detailMetricsSz);
+ detailMetrics = new ConcurrentHashMap<>(detailMetricsSz);
lsnr = new GridLocalEventListener() {
@Override public void onEvent(Event evt) {
@@ -373,7 +371,7 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
*/
private void invalidateResultCache() {
if (!qryResCache.isEmpty())
- qryResCache = new ConcurrentHashMap8<>();
+ qryResCache = new ConcurrentHashMap<>();
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
index f40c077..f070686 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
@@ -73,7 +73,7 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.resources.LoggerResource;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static javax.cache.event.EventType.CREATED;
import static javax.cache.event.EventType.EXPIRED;
@@ -102,13 +102,13 @@ public class CacheContinuousQueryManager extends GridCacheManagerAdapter {
private static final long BACKUP_ACK_FREQ = 5000;
/** Listeners. */
- private final ConcurrentMap<UUID, CacheContinuousQueryListener> lsnrs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, CacheContinuousQueryListener> lsnrs = new ConcurrentHashMap<>();
/** Listeners count. */
private final AtomicInteger lsnrCnt = new AtomicInteger();
/** Internal entries listeners. */
- private final ConcurrentMap<UUID, CacheContinuousQueryListener> intLsnrs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, CacheContinuousQueryListener> intLsnrs = new ConcurrentHashMap<>();
/** Internal listeners count. */
private final AtomicInteger intLsnrCnt = new AtomicInteger();
@@ -118,7 +118,7 @@ public class CacheContinuousQueryManager extends GridCacheManagerAdapter {
/** JCache listeners. */
private final ConcurrentMap<CacheEntryListenerConfiguration, JCacheQuery> jCacheLsnrs =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Ordered topic prefix. */
private String topicPrefix;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
index 932acf6..e735342 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
@@ -28,6 +28,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteClientDisconnectedException;
@@ -89,7 +90,6 @@ import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.apache.ignite.transactions.TransactionState;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import org.jsr166.ConcurrentLinkedHashMap;
@@ -163,7 +163,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter {
private final ConcurrentMap<GridCacheVersion, IgniteInternalTx> nearIdMap = newMap();
/** Deadlock detection futures. */
- private final ConcurrentMap<Long, TxDeadlockFuture> deadlockDetectFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Long, TxDeadlockFuture> deadlockDetectFuts = new ConcurrentHashMap<>();
/** TX handler. */
private IgniteTxHandler txHnd;
@@ -199,7 +199,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter {
* to avoid future map resizings.
*/
private final ConcurrentMap<GridCacheVersion, GridCacheVersion> mappedVers =
- new ConcurrentHashMap8<>(5120);
+ new ConcurrentHashMap<>(5120);
/** TxDeadlock detection. */
private TxDeadlockDetection txDeadlockDetection;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 571d654..026894d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -29,6 +29,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.Lock;
@@ -84,7 +85,6 @@ import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData;
import org.apache.ignite.spi.discovery.DiscoveryDataBag.JoiningNodeDiscoveryData;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -102,25 +102,25 @@ import static org.apache.ignite.internal.processors.continuous.GridContinuousMes
*/
public class GridContinuousProcessor extends GridProcessorAdapter {
/** Local infos. */
- private final ConcurrentMap<UUID, LocalRoutineInfo> locInfos = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, LocalRoutineInfo> locInfos = new ConcurrentHashMap<>();
/** Local infos. */
- private final ConcurrentMap<UUID, Map<UUID, LocalRoutineInfo>> clientInfos = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, Map<UUID, LocalRoutineInfo>> clientInfos = new ConcurrentHashMap<>();
/** Remote infos. */
- private final ConcurrentMap<UUID, RemoteRoutineInfo> rmtInfos = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, RemoteRoutineInfo> rmtInfos = new ConcurrentHashMap<>();
/** Start futures. */
- private final ConcurrentMap<UUID, StartFuture> startFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, StartFuture> startFuts = new ConcurrentHashMap<>();
/** Stop futures. */
- private final ConcurrentMap<UUID, StopFuture> stopFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, StopFuture> stopFuts = new ConcurrentHashMap<>();
/** Threads started by this processor. */
- private final Map<UUID, IgniteThread> bufCheckThreads = new ConcurrentHashMap8<>();
+ private final Map<UUID, IgniteThread> bufCheckThreads = new ConcurrentHashMap<>();
/** */
- private final ConcurrentMap<IgniteUuid, SyncMessageAckFuture> syncMsgFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<IgniteUuid, SyncMessageAckFuture> syncMsgFuts = new ConcurrentHashMap<>();
/** Stopped IDs. */
private final Collection<UUID> stopped = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
index 2b8a6c5..e1ab237 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
@@ -31,6 +31,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Queue;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.DelayQueue;
@@ -112,7 +113,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.stream.StreamReceiver;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -165,7 +165,7 @@ public class DataStreamerImpl<K, V> implements IgniteDataStreamer<K, V>, Delayed
/** Mapping. */
@GridToStringInclude
- private ConcurrentMap<UUID, Buffer> bufMappings = new ConcurrentHashMap8<>();
+ private ConcurrentMap<UUID, Buffer> bufMappings = new ConcurrentHashMap<>();
/** Discovery listener. */
private final GridLocalEventListener discoLsnr;
@@ -1397,7 +1397,7 @@ public class DataStreamerImpl<K, V> implements IgniteDataStreamer<K, V>, Delayed
this.node = node;
locFuts = new GridConcurrentHashSet<>();
- reqs = new ConcurrentHashMap8<>();
+ reqs = new ConcurrentHashMap<>();
// Cache local node flag.
isLocNode = node.equals(ctx.discovery().localNode());
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index 99b2fa8..9b1cd68 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -22,6 +22,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
import javax.cache.event.CacheEntryEvent;
@@ -78,7 +79,6 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
@@ -130,7 +130,7 @@ public final class DataStructuresProcessor extends GridProcessorAdapter implemen
private final AtomicConfiguration dfltAtomicCfg;
/** Map of continuous query IDs. */
- private final ConcurrentHashMap8<Integer, UUID> qryIdMap = new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<Integer, UUID> qryIdMap = new ConcurrentHashMap<>();
/** Listener. */
private final GridLocalEventListener lsnr = new GridLocalEventListener() {
@@ -164,7 +164,7 @@ public final class DataStructuresProcessor extends GridProcessorAdapter implemen
public DataStructuresProcessor(GridKernalContext ctx) {
super(ctx);
- dsMap = new ConcurrentHashMap8<>(INITIAL_CAPACITY);
+ dsMap = new ConcurrentHashMap<>(INITIAL_CAPACITY);
dfltAtomicCfg = ctx.config().getAtomicConfiguration();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopClassLoader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopClassLoader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopClassLoader.java
index 24367f5..e2995bc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopClassLoader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopClassLoader.java
@@ -25,7 +25,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import java.io.File;
import java.io.IOException;
@@ -38,7 +38,6 @@ import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Vector;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/**
@@ -79,7 +78,7 @@ public class HadoopClassLoader extends URLClassLoader implements ClassCache {
private static volatile Collection<URL> hadoopJars;
/** */
- private static final Map<String, byte[]> bytesCache = new ConcurrentHashMap8<>();
+ private static final Map<String, byte[]> bytesCache = new ConcurrentHashMap<>();
/** Class cache. */
private final ConcurrentMap<String, Class> cacheMap = new ConcurrentHashMap<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsClientSession.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsClientSession.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsClientSession.java
index 943165e..0a0b17e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsClientSession.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsClientSession.java
@@ -21,7 +21,7 @@ import java.io.Closeable;
import java.util.Iterator;
import java.util.concurrent.ConcurrentMap;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* IGFS client session. Effectively used to manage lifecycle of opened resources and close them on
@@ -29,7 +29,7 @@ import org.jsr166.ConcurrentHashMap8;
*/
public class IgfsClientSession {
/** Session resources. */
- private ConcurrentMap<Long, Closeable> rsrcMap = new ConcurrentHashMap8<>();
+ private ConcurrentMap<Long, Closeable> rsrcMap = new ConcurrentHashMap<>();
/**
* Registers resource within this session.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
index 90b5e9b..5f5b69d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
@@ -81,7 +81,7 @@ import org.apache.ignite.internal.util.worker.GridWorker;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -116,7 +116,7 @@ public class IgfsDataManager extends IgfsManager {
private DataInputBlocksWriter dataInputWriter = new DataInputBlocksWriter();
/** Pending writes future. */
- private ConcurrentMap<IgniteUuid, WriteCompletionFuture> pendingWrites = new ConcurrentHashMap8<>();
+ private ConcurrentMap<IgniteUuid, WriteCompletionFuture> pendingWrites = new ConcurrentHashMap<>();
/** Affinity key generator. */
private AtomicLong affKeyGen = new AtomicLong();
@@ -134,8 +134,8 @@ public class IgfsDataManager extends IgfsManager {
private String dataCacheName;
/** On-going remote reads futures. */
- private final ConcurrentHashMap8<IgfsBlockKey, IgniteInternalFuture<byte[]>> rmtReadFuts =
- new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<IgfsBlockKey, IgniteInternalFuture<byte[]>> rmtReadFuts =
+ new ConcurrentHashMap<>();
/**
*
@@ -1599,7 +1599,7 @@ public class IgfsDataManager extends IgfsManager {
private final IgniteUuid fileId;
/** Pending acks. */
- private final ConcurrentMap<Long, UUID> ackMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Long, UUID> ackMap = new ConcurrentHashMap<>();
/** Lock for map-related conditions. */
private final Lock lock = new ReentrantLock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 5a9e10a..ff53e00 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -28,6 +28,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
@@ -95,7 +96,6 @@ import org.apache.ignite.lifecycle.LifecycleAware;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.thread.IgniteThreadPoolExecutor;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_IGFS_DIR_DELETED;
import static org.apache.ignite.events.EventType.EVT_IGFS_FILE_DELETED;
@@ -145,7 +145,7 @@ public final class IgfsImpl implements IgfsEx {
private final GridSpinBusyLock busyLock = new GridSpinBusyLock();
/** Writers map. */
- private final ConcurrentHashMap8<IgfsPath, IgfsFileWorkerBatch> workerMap = new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<IgfsPath, IgfsFileWorkerBatch> workerMap = new ConcurrentHashMap<>();
/** Client log directory. */
private volatile String logDir;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
index f18c438..3ed9b57 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
@@ -46,7 +46,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.lang.IgniteClosure;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK;
import static org.apache.ignite.IgniteSystemProperties.getBoolean;
@@ -65,7 +65,7 @@ public class IgfsProcessor extends IgfsProcessorAdapter {
/** */
private final ConcurrentMap<String, IgfsContext> igfsCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* @param ctx Kernal context.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
index 7370a6a..ae9cb7e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionException;
@@ -85,7 +86,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedHashMap;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
@@ -126,7 +126,7 @@ public class GridJobProcessor extends GridProcessorAdapter {
/** */
private final ConcurrentMap<IgniteUuid, GridJobWorker> cancelledJobs =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
private final Collection<IgniteUuid> heldJobs = new GridConcurrentHashSet<>();
@@ -224,7 +224,7 @@ public class GridJobProcessor extends GridProcessorAdapter {
metricsUpdateFreq = ctx.config().getMetricsUpdateFrequency();
- activeJobs = jobAlwaysActivate ? new ConcurrentHashMap8<IgniteUuid, GridJobWorker>() :
+ activeJobs = jobAlwaysActivate ? new ConcurrentHashMap<IgniteUuid, GridJobWorker>() :
new JobsMap(1024, 0.75f, 256);
passiveJobs = jobAlwaysActivate ? null : new JobsMap(1024, 0.75f, 256);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/GridMarshallerMappingProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/GridMarshallerMappingProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/GridMarshallerMappingProcessor.java
index df0c720..85b9eb5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/GridMarshallerMappingProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/GridMarshallerMappingProcessor.java
@@ -21,6 +21,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.ignite.IgniteCheckedException;
@@ -46,7 +47,6 @@ import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.spi.discovery.DiscoveryDataBag;
import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -84,10 +84,10 @@ public class GridMarshallerMappingProcessor extends GridProcessorAdapter {
/** */
private final ConcurrentMap<MarshallerMappingItem, GridFutureAdapter<MappingExchangeResult>> mappingExchangeSyncMap
- = new ConcurrentHashMap8<>();
+ = new ConcurrentHashMap<>();
/** */
- private final ConcurrentMap<MarshallerMappingItem, ClientRequestFuture> clientReqSyncMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<MarshallerMappingItem, ClientRequestFuture> clientReqSyncMap = new ConcurrentHashMap<>();
/**
* @param ctx Kernal context.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
index 47407f9..94c4573 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.offheap;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.processors.GridProcessorAdapter;
@@ -34,15 +35,14 @@ import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.marshaller.Marshaller;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Manages offheap memory caches.
*/
public class GridOffHeapProcessor extends GridProcessorAdapter {
/** */
- private final ConcurrentHashMap8<String, GridOffHeapPartitionedMap> offheap =
- new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<String, GridOffHeapPartitionedMap> offheap =
+ new ConcurrentHashMap<>();
/** */
private final Marshaller marsh;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceIoc.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceIoc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceIoc.java
index 07a4fff..e7ca213 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceIoc.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceIoc.java
@@ -48,7 +48,7 @@ import org.apache.ignite.resources.SpringResource;
import org.apache.ignite.resources.TaskContinuousMapperResource;
import org.apache.ignite.resources.TaskSessionResource;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Resource container contains caches for classes used for injection.
@@ -56,7 +56,7 @@ import org.jsr166.ConcurrentHashMap8;
*/
public class GridResourceIoc {
/** Task class resource mapping. Used to efficiently cleanup resources related to class loader. */
- private final ConcurrentMap<ClassLoader, Set<Class<?>>> taskMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<ClassLoader, Set<Class<?>>> taskMap = new ConcurrentHashMap<>();
/** Class descriptors cache. */
private AtomicReference<Map<Class<?>, ClassDescriptor>> clsDescs = new AtomicReference<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index f2b2781..ff68e72 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@ -105,7 +105,7 @@ import org.apache.ignite.services.ServiceDescriptor;
import org.apache.ignite.thread.IgniteThreadFactory;
import org.apache.ignite.transactions.Transaction;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_SERVICES_COMPATIBILITY_MODE;
import static org.apache.ignite.IgniteSystemProperties.getString;
@@ -140,10 +140,10 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
private final Map<String, Collection<ServiceContextImpl>> locSvcs = new HashMap<>();
/** Deployment futures. */
- private final ConcurrentMap<String, GridServiceDeploymentFuture> depFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, GridServiceDeploymentFuture> depFuts = new ConcurrentHashMap<>();
/** Deployment futures. */
- private final ConcurrentMap<String, GridFutureAdapter<?>> undepFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, GridFutureAdapter<?>> undepFuts = new ConcurrentHashMap<>();
/** Pending compute job contexts that waiting for utility cache initialization. */
private final List<ComputeJobContext> pendingJobCtxs = new ArrayList<>(0);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
index 765743c..02b36eb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.session;
import java.util.Collection;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cluster.ClusterNode;
@@ -32,14 +33,13 @@ import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
*/
public class GridTaskSessionProcessor extends GridProcessorAdapter {
/** Sessions (initialized to 2K number of concurrent sessions). */
private final ConcurrentMap<IgniteUuid, GridTaskSessionImpl> sesMap =
- new ConcurrentHashMap8<>(2048);
+ new ConcurrentHashMap<>(2048);
/**
* @param ctx Grid kernal context.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridAnnotationsCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridAnnotationsCache.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridAnnotationsCache.java
index 3cab510..d89ee97 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridAnnotationsCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridAnnotationsCache.java
@@ -18,12 +18,12 @@
package org.apache.ignite.internal.util;
import java.lang.annotation.Annotation;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.lang.GridTuple;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Caches class loaders for classes.
@@ -32,7 +32,7 @@ public final class GridAnnotationsCache {
/** Annotation cache. */
private static final ConcurrentMap<Class<?>,
ConcurrentMap<Class<? extends Annotation>, GridTuple<Annotation>>> anns =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* @param cls Class.
@@ -44,7 +44,7 @@ public final class GridAnnotationsCache {
if (clsAnns == null) {
ConcurrentMap<Class<? extends Annotation>, GridTuple<Annotation>> old = anns.putIfAbsent(cls,
- clsAnns = new ConcurrentHashMap8<>());
+ clsAnns = new ConcurrentHashMap<>());
if (old != null)
clsAnns = old;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridClassLoaderCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridClassLoaderCache.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridClassLoaderCache.java
index 34bf69b..d067775 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridClassLoaderCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridClassLoaderCache.java
@@ -18,10 +18,10 @@
package org.apache.ignite.internal.util;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jsr166.ConcurrentHashMap8;
/**
* Caches class loaders for classes.
@@ -29,7 +29,7 @@ import org.jsr166.ConcurrentHashMap8;
public final class GridClassLoaderCache {
/** Fields cache. */
private static final ConcurrentMap<Class<?>, ClassLoader> cache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* Gets cached ClassLoader for efficiency since class loader detection has proven to be slow.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentFactory.java
index d1a7bb5..6a001f7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentFactory.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.util;
import java.util.concurrent.ConcurrentMap;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Concurrent map factory.
@@ -37,6 +37,6 @@ public class GridConcurrentFactory {
* @return New concurrent map.
*/
public static <K, V> ConcurrentMap<K, V> newMap() {
- return new ConcurrentHashMap8<>();
+ return new ConcurrentHashMap<>();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentHashSet.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentHashSet.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentHashSet.java
index 955b7b8..3291fcc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentHashSet.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentHashSet.java
@@ -18,10 +18,10 @@
package org.apache.ignite.internal.util;
import java.util.Collection;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Concurrent set implementation.
@@ -35,7 +35,7 @@ public class GridConcurrentHashSet<E> extends GridSetWrapper<E> {
* load factor, and concurrencyLevel.
*/
public GridConcurrentHashSet() {
- super(new ConcurrentHashMap8<E, E>());
+ super(new ConcurrentHashMap<E, E>());
}
/**
@@ -48,7 +48,7 @@ public class GridConcurrentHashSet<E> extends GridSetWrapper<E> {
* elements is negative.
*/
public GridConcurrentHashSet(int initCap) {
- super(new ConcurrentHashMap8<E, E>(initCap));
+ super(new ConcurrentHashMap<E, E>(initCap));
}
/**
@@ -68,7 +68,7 @@ public class GridConcurrentHashSet<E> extends GridSetWrapper<E> {
* non-positive.
*/
public GridConcurrentHashSet(int initCap, float loadFactor, int conLevel) {
- super(new ConcurrentHashMap8<E, E>(initCap, loadFactor, conLevel));
+ super(new ConcurrentHashMap<E, E>(initCap, loadFactor, conLevel));
}
/**
@@ -80,7 +80,7 @@ public class GridConcurrentHashSet<E> extends GridSetWrapper<E> {
* @param c Collection to add.
*/
public GridConcurrentHashSet(Collection<E> c) {
- super(new ConcurrentHashMap8<E, E>(c.size()));
+ super(new ConcurrentHashMap<E, E>(c.size()));
addAll(c);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridKeyLock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridKeyLock.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridKeyLock.java
index 09a7db4..39070c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridKeyLock.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridKeyLock.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.util;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* This is an utility class for 'splitting' locking of some resources.
@@ -30,7 +30,7 @@ import org.jsr166.ConcurrentHashMap8;
*/
public class GridKeyLock {
/** Underlying locks. */
- private final ConcurrentMap<Object, Sync> locks = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Object, Sync> locks = new ConcurrentHashMap<>();
/**
* @param key Key to lock.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
index 7f30dd7..59ddd1c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
@@ -17,13 +17,13 @@
package org.apache.ignite.internal.util;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Grid log throttle.
@@ -42,7 +42,7 @@ public class GridLogThrottle {
/** Errors. */
private static final ConcurrentMap<IgniteBiTuple<Class<? extends Throwable>, String>, Long> errors =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* Sets system-wide log throttle timeout.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java
index e83aafd..984def5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java
@@ -22,13 +22,13 @@ import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Map;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Synchronized map for cache values that is safe to update in-place. Main reason for this map
* is to provide snapshot-guarantee for serialization and keep concurrent iterators.
*/
-public class GridSynchronizedMap<K, V> extends ConcurrentHashMap8<K, V> implements Externalizable {
+public class GridSynchronizedMap<K, V> extends ConcurrentHashMap<K, V> implements Externalizable {
/** */
private static final long serialVersionUID = 0L;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 1d80a9e..cbe64cd 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -241,7 +241,6 @@ import org.apache.ignite.transactions.TransactionRollbackException;
import org.apache.ignite.transactions.TransactionTimeoutException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import sun.misc.Unsafe;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DISABLE_HOSTNAME_VERIFIER;
@@ -307,7 +306,7 @@ public abstract class IgniteUtils {
/** Cache for {@link GridPeerDeployAware} fields to speed up reflection. */
private static final ConcurrentMap<String, IgniteBiTuple<Class<?>, Collection<Field>>> p2pFields =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Secure socket protocol to use. */
private static final String HTTPS_PROTOCOL = "TLS";
@@ -498,7 +497,7 @@ public abstract class IgniteUtils {
/** */
private static final ConcurrentMap<ClassLoader, ConcurrentMap<String, Class>> classCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
private static volatile Boolean hasShmem;
@@ -8563,7 +8562,7 @@ public abstract class IgniteUtils {
ConcurrentMap<String, Class> ldrMap = classCache.get(ldr);
if (ldrMap == null) {
- ConcurrentMap<String, Class> old = classCache.putIfAbsent(ldr, ldrMap = new ConcurrentHashMap8<>());
+ ConcurrentMap<String, Class> old = classCache.putIfAbsent(ldr, ldrMap = new ConcurrentHashMap<>());
if (old != null)
ldrMap = old;
@@ -10438,7 +10437,7 @@ public abstract class IgniteUtils {
private final AtomicLong cnt = new AtomicLong();
/** Count. */
- private final ConcurrentMap<String, AtomicLong> cntMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, AtomicLong> cntMap = new ConcurrentHashMap<>();
/**
* @param delegate Delegate.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/ConcurrentMapFactoryCallable.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/ConcurrentMapFactoryCallable.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/ConcurrentMapFactoryCallable.java
index 696944c..9b96743 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/ConcurrentMapFactoryCallable.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/ConcurrentMapFactoryCallable.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.util.lang.gridfunc;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteCallable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Concurrent hash map factory.
@@ -31,7 +31,7 @@ public class ConcurrentMapFactoryCallable implements IgniteCallable<ConcurrentMa
/** {@inheritDoc} */
@Override public ConcurrentMap call() {
- return new ConcurrentHashMap8();
+ return new ConcurrentHashMap();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
index 39a8e8c..4ab361e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Queue;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.IgniteLogger;
@@ -55,7 +56,6 @@ import org.apache.ignite.spi.collision.CollisionContext;
import org.apache.ignite.spi.collision.CollisionExternalListener;
import org.apache.ignite.spi.collision.CollisionJobContext;
import org.apache.ignite.spi.collision.CollisionSpi;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -282,10 +282,10 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
private final AtomicInteger totalStolenJobsNum = new AtomicInteger();
/** Map of sent messages. */
- private final ConcurrentMap<UUID, MessageInfo> sndMsgMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, MessageInfo> sndMsgMap = new ConcurrentHashMap<>();
/** Map of received messages. */
- private final ConcurrentMap<UUID, MessageInfo> rcvMsgMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, MessageInfo> rcvMsgMap = new ConcurrentHashMap<>();
/** */
private final Queue<ClusterNode> nodeQueue = new ConcurrentLinkedDeque8<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
index c817bbe..2b18422 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
@@ -43,7 +43,7 @@ import org.apache.ignite.spi.deployment.DeploymentResourceAdapter;
import org.apache.ignite.spi.deployment.DeploymentSpi;
import org.apache.ignite.spi.deployment.IgnoreIfPeerClassLoadingDisabled;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.jsr166.ConcurrentLinkedHashMap;
/**
@@ -178,7 +178,7 @@ public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSp
if (clsLdrRsrcs == null) {
ConcurrentMap<String, String> old = ldrRsrcs.putIfAbsent(ldr,
- clsLdrRsrcs = new ConcurrentHashMap8<>());
+ clsLdrRsrcs = new ConcurrentHashMap<>());
if (old != null)
clsLdrRsrcs = old;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index a8f13fa..f52cae4 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -101,7 +101,7 @@ import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingResponse;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryRingLatencyCheckMessage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DISCO_FAILED_CLIENT_RECONNECT_DELAY;
@@ -136,7 +136,7 @@ class ClientImpl extends TcpDiscoveryImpl {
private static final Object SPI_RECONNECT = "SPI_RECONNECT";
/** Remote nodes. */
- private final ConcurrentMap<UUID, TcpDiscoveryNode> rmtNodes = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, TcpDiscoveryNode> rmtNodes = new ConcurrentHashMap<>();
/** */
private final List<DiscoveryDataPacket> delayDiscoData = new ArrayList<>();
@@ -145,7 +145,7 @@ class ClientImpl extends TcpDiscoveryImpl {
private final NavigableMap<Long, Collection<ClusterNode>> topHist = new TreeMap<>();
/** Remote nodes. */
- private final ConcurrentMap<UUID, GridFutureAdapter<Boolean>> pingFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<UUID, GridFutureAdapter<Boolean>> pingFuts = new ConcurrentHashMap<>();
/** Socket writer. */
private SocketWriter sockWriter;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 743964a..bdf9440 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -134,7 +134,7 @@ import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryRingLatencyCheck
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryStatusCheckMessage;
import org.apache.ignite.thread.IgniteThreadPoolExecutor;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_BINARY_MARSHALLER_USE_STRING_SERIALIZATION_VER_2;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE;
@@ -194,7 +194,7 @@ class ServerImpl extends TcpDiscoveryImpl {
private RingMessageWorker msgWorker;
/** Client message workers. */
- protected ConcurrentMap<UUID, ClientMessageWorker> clientMsgWorkers = new ConcurrentHashMap8<>();
+ protected ConcurrentMap<UUID, ClientMessageWorker> clientMsgWorkers = new ConcurrentHashMap<>();
/** IP finder cleaner. */
@SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
@@ -242,7 +242,7 @@ class ServerImpl extends TcpDiscoveryImpl {
/** Map with proceeding ping requests. */
private final ConcurrentMap<InetSocketAddress, GridPingFutureAdapter<IgniteBiTuple<UUID, Boolean>>> pingMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* @param adapter Adapter.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
index 1a3a7fe..fc30405 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
@@ -54,7 +54,7 @@ import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.events.EventType.EVT_JOB_MAPPED;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -271,7 +271,7 @@ public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBa
/** Task topologies. First pair value indicates whether or not jobs have been mapped. */
private ConcurrentMap<IgniteUuid, IgniteBiTuple<Boolean, WeightedTopology>> taskTops =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
private final Map<UUID, AtomicInteger> nodeJobs = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
index 5472811..1876120 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.compute.ComputeJob;
@@ -43,7 +44,6 @@ import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_JOB_MAPPED;
import static org.apache.ignite.events.EventType.EVT_TASK_FAILED;
@@ -186,7 +186,7 @@ public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements Load
/** */
private final Map<IgniteUuid, RoundRobinPerTaskLoadBalancer> perTaskBalancers =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Event listener. */
private final GridLocalEventListener lsnr = new GridLocalEventListener() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
index 2af6d44..bdd3f26 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.Random;
import java.util.SortedMap;
import java.util.TreeMap;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cluster.ClusterNode;
@@ -48,7 +49,6 @@ import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_JOB_MAPPED;
import static org.apache.ignite.events.EventType.EVT_TASK_FAILED;
@@ -207,7 +207,7 @@ public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements
/** Task topologies. First pair value indicates whether or not jobs have been mapped. */
private ConcurrentMap<IgniteUuid, IgniteBiTuple<Boolean, WeightedTopology>> taskTops =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* Sets a flag to indicate whether node weights should be checked when
[5/5] ignite git commit: IGNITE-7513 Get rid of
org.jsr166.ConcurrentHashMap8
Posted by av...@apache.org.
IGNITE-7513 Get rid of org.jsr166.ConcurrentHashMap8
Signed-off-by: Anton Vinogradov <av...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b4ece5fb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b4ece5fb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b4ece5fb
Branch: refs/heads/master
Commit: b4ece5fb3781f6cee74548d45c8987d452c0932e
Parents: 2ab10ca
Author: Andrey Kuznetsov <st...@gmail.com>
Authored: Tue Feb 13 15:14:15 2018 +0300
Committer: Anton Vinogradov <av...@apache.org>
Committed: Wed Feb 14 17:29:02 2018 +0300
----------------------------------------------------------------------
.../org/apache/ignite/internal/IgnitionEx.java | 6 +-
.../ignite/internal/MarshallerContextImpl.java | 8 +-
.../ignite/internal/binary/BinaryContext.java | 12 +-
.../ignite/internal/binary/BinaryEnumCache.java | 4 +-
.../ignite/internal/binary/BinaryUtils.java | 6 -
.../router/impl/GridRouterClientImpl.java | 4 +-
.../cluster/ClusterNodeLocalMapImpl.java | 4 +-
.../ignite/internal/igfs/common/IgfsLogger.java | 6 +-
.../checkpoint/GridCheckpointManager.java | 4 +-
.../managers/communication/GridIoManager.java | 9 +-
.../communication/GridIoMessageFactory.java | 4 +-
.../managers/deployment/GridDeployment.java | 16 +-
.../deployment/GridDeploymentClassLoader.java | 6 +-
.../deployment/GridDeploymentLocalStore.java | 4 +-
.../GridDeploymentPerVersionStore.java | 6 +-
.../discovery/GridDiscoveryManager.java | 3 +-
.../eventstorage/GridEventStorageManager.java | 4 +-
.../optimized/OptimizedMarshaller.java | 4 +-
.../affinity/GridAffinityProcessor.java | 4 +-
.../cache/CacheAffinitySharedManager.java | 3 +-
.../cache/CacheStoreBalancingWrapper.java | 4 +-
.../cache/CacheWeakQueryIteratorsHolder.java | 4 +-
.../cache/GridCacheDeploymentManager.java | 6 +-
.../processors/cache/GridCacheIoManager.java | 6 +-
.../cache/GridCacheLocalConcurrentMap.java | 4 +-
.../processors/cache/GridCacheMvccManager.java | 8 +-
.../GridCachePartitionExchangeManager.java | 4 +-
.../cache/GridCacheSharedContext.java | 15 +-
.../processors/cache/GridCacheUtils.java | 4 +-
.../cache/GridDeferredAckMessageSender.java | 4 +-
.../cache/binary/BinaryMetadataTransport.java | 6 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 3 +-
.../CacheDataStructuresManager.java | 8 +-
.../distributed/GridCacheTxFinishSync.java | 6 +-
.../distributed/dht/GridDhtCacheAdapter.java | 4 +-
.../distributed/dht/GridDhtLocalPartition.java | 3 +-
.../distributed/dht/GridDhtLockFuture.java | 4 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 6 +-
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 10 +-
.../distributed/near/GridNearLockFuture.java | 4 +-
.../distributed/near/IgniteTxMappingsImpl.java | 4 +-
.../wal/FileWriteAheadLogManager.java | 4 +-
.../query/GridCacheDistributedQueryManager.java | 6 +-
.../cache/query/GridCacheQueryManager.java | 28 +-
.../continuous/CacheContinuousQueryManager.java | 8 +-
.../cache/transactions/IgniteTxManager.java | 6 +-
.../continuous/GridContinuousProcessor.java | 16 +-
.../datastreamer/DataStreamerImpl.java | 6 +-
.../datastructures/DataStructuresProcessor.java | 6 +-
.../processors/hadoop/HadoopClassLoader.java | 5 +-
.../processors/igfs/IgfsClientSession.java | 4 +-
.../processors/igfs/IgfsDataManager.java | 10 +-
.../internal/processors/igfs/IgfsImpl.java | 4 +-
.../internal/processors/igfs/IgfsProcessor.java | 4 +-
.../processors/job/GridJobProcessor.java | 6 +-
.../GridMarshallerMappingProcessor.java | 6 +-
.../offheap/GridOffHeapProcessor.java | 6 +-
.../processors/resource/GridResourceIoc.java | 4 +-
.../service/GridServiceProcessor.java | 6 +-
.../session/GridTaskSessionProcessor.java | 4 +-
.../internal/util/GridAnnotationsCache.java | 6 +-
.../internal/util/GridClassLoaderCache.java | 4 +-
.../internal/util/GridConcurrentFactory.java | 4 +-
.../internal/util/GridConcurrentHashSet.java | 10 +-
.../ignite/internal/util/GridKeyLock.java | 4 +-
.../ignite/internal/util/GridLogThrottle.java | 4 +-
.../internal/util/GridSynchronizedMap.java | 4 +-
.../ignite/internal/util/IgniteUtils.java | 9 +-
.../gridfunc/ConcurrentMapFactoryCallable.java | 4 +-
.../jobstealing/JobStealingCollisionSpi.java | 6 +-
.../deployment/local/LocalDeploymentSpi.java | 4 +-
.../ignite/spi/discovery/tcp/ClientImpl.java | 6 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 6 +-
.../adaptive/AdaptiveLoadBalancingSpi.java | 4 +-
.../roundrobin/RoundRobinLoadBalancingSpi.java | 4 +-
.../WeightedRandomLoadBalancingSpi.java | 4 +-
.../java/org/jsr166/ConcurrentHashMap8.java | 3810 ------------------
.../binary/BinaryMarshallerSelfTest.java | 3 +-
.../GridDeploymentMessageCountSelfTest.java | 4 +-
.../OptimizedObjectStreamSelfTest.java | 4 +-
.../cache/CacheNearReaderUpdateTest.java | 4 +-
.../CacheSerializableTransactionsTest.java | 4 +-
.../GridCacheAbstractRemoveFailureTest.java | 4 +-
.../GridCacheInterceptorAbstractSelfTest.java | 12 +-
.../GridCacheOrderedPreloadingSelfTest.java | 8 +-
...ridCacheStoreManagerDeserializationTest.java | 4 +-
.../cache/IgniteCacheAbstractTest.java | 6 +-
.../IgniteCacheReadThroughStoreCallTest.java | 4 +-
.../processors/cache/MapCacheStoreStrategy.java | 4 +-
.../GridCacheBinaryStoreAbstractSelfTest.java | 4 +-
...chePartitionedReloadAllAbstractSelfTest.java | 4 +-
.../dht/GridCacheGlobalLoadTest.java | 6 +-
...cingDelayedPartitionMapExchangeSelfTest.java | 4 +-
.../IgniteCacheLoadAllAbstractTest.java | 6 +-
.../IgniteCacheLoaderWriterAbstractTest.java | 4 +-
...CacheContinuousQueryCounterAbstractTest.java | 4 +-
...ridCacheContinuousQueryAbstractSelfTest.java | 10 +-
...eContinuousQueryMultiNodesFilteringTest.java | 3 +-
.../processors/database/BPlusTreeSelfTest.java | 12 +-
.../processors/service/DummyService.java | 12 +-
.../offheap/GridOffHeapMapAbstractSelfTest.java | 4 +-
...idOffHeapPartitionedMapAbstractSelfTest.java | 5 +-
...apPartitionedMapPerformanceAbstractTest.java | 6 +-
.../ignite/jvmtest/ConcurrentMapTest.java | 200 -
.../utils/GridConcurrentHashMapSelfTest.java | 110 -
.../communication/GridIoManagerBenchmark.java | 4 +-
.../communication/GridIoManagerBenchmark0.java | 6 +-
.../ignite/loadtests/dsi/GridDsiPerfJob.java | 6 +-
...apPartitionedMapPerformanceAbstractTest.java | 6 +-
.../marshaller/MarshallerContextTestImpl.java | 4 +-
.../file/AlignedBuffersDirectFileIO.java | 6 +-
.../file/AlignedBuffersDirectFileIOFactory.java | 6 +-
.../file/LinuxNativeIoPluginProvider.java | 8 +-
.../hadoop/counter/HadoopCountersImpl.java | 4 +-
.../hadoop/impl/fs/HadoopLazyConcurrentMap.java | 4 +-
.../hadoop/impl/igfs/HadoopIgfsIpcIo.java | 6 +-
.../hadoop/impl/igfs/HadoopIgfsOutProc.java | 5 +-
.../processors/hadoop/impl/v2/HadoopV2Job.java | 4 +-
.../hadoop/jobtracker/HadoopJobTracker.java | 8 +-
.../taskexecutor/HadoopExecutorService.java | 4 +-
.../external/HadoopExternalTaskExecutor.java | 6 +-
.../processors/hadoop/HadoopSharedMap.java | 6 +-
.../hadoop/impl/HadoopAbstractSelfTest.java | 15 +-
.../hadoop/impl/HadoopCommandLineTest.java | 4 +-
.../processors/query/h2/IgniteH2Indexing.java | 11 +-
.../query/h2/opt/GridH2MetaTable.java | 6 +-
.../query/h2/opt/GridH2QueryContext.java | 4 +-
.../processors/query/h2/opt/GridH2Table.java | 4 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 5 +-
.../h2/twostep/GridReduceQueryExecutor.java | 3 +-
.../query/h2/twostep/MapNodeResults.java | 6 +-
.../cache/IgniteCacheAbstractQuerySelfTest.java | 5 +-
.../org/apache/ignite/osgi/IgniteOsgiUtils.java | 4 +-
.../classloaders/ContainerSweepClassLoader.java | 4 +-
.../ignite/cache/spring/SpringCacheManager.java | 13 +-
136 files changed, 380 insertions(+), 4522 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index ed31f00..f5cb798 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -113,7 +113,7 @@ import org.apache.ignite.thread.IgniteStripedThreadPoolExecutor;
import org.apache.ignite.thread.IgniteThread;
import org.apache.ignite.thread.IgniteThreadPoolExecutor;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.IgniteState.STARTED;
import static org.apache.ignite.IgniteState.STOPPED;
@@ -159,10 +159,10 @@ public class IgnitionEx {
public static final String DFLT_CFG = "config/default-config.xml";
/** Map of named Ignite instances. */
- private static final ConcurrentMap<Object, IgniteNamedInstance> grids = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<Object, IgniteNamedInstance> grids = new ConcurrentHashMap<>();
/** Map of grid states ever started in this JVM. */
- private static final Map<Object, IgniteState> gridStates = new ConcurrentHashMap8<>();
+ private static final Map<Object, IgniteState> gridStates = new ConcurrentHashMap<>();
/** Mutex to synchronize updates of default grid reference. */
private static final Object dfltGridMux = new Object();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java
index d82ab17..dae95ae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java
@@ -33,6 +33,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.ignite.IgniteCheckedException;
@@ -56,7 +57,6 @@ import org.apache.ignite.marshaller.jdk.JdkMarshaller;
import org.apache.ignite.plugin.PluginProvider;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.internal.MarshallerPlatformIds.JAVA_ID;
import static org.apache.ignite.marshaller.MarshallerUtils.CLS_NAMES_FILE;
@@ -156,7 +156,7 @@ public class MarshallerContextImpl implements MarshallerContext {
/** */
private void initializeCaches() {
- allCaches.add(new CombinedMap(new ConcurrentHashMap8<Integer, MappedName>(), sysTypesMap));
+ allCaches.add(new CombinedMap(new ConcurrentHashMap<Integer, MappedName>(), sysTypesMap));
}
/** */
@@ -469,12 +469,12 @@ public class MarshallerContextImpl implements MarshallerContext {
map = allCaches.get(platformId);
if (map == null) {
- map = new ConcurrentHashMap8<>();
+ map = new ConcurrentHashMap<>();
allCaches.set(platformId, map);
}
}
else {
- map = new ConcurrentHashMap8<>();
+ map = new ConcurrentHashMap<>();
putAtIndex(map, allCaches, platformId, size);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index b161129..9606139 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@ -41,6 +41,7 @@ import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
@@ -118,7 +119,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.MarshallerContext;
import org.apache.ignite.marshaller.MarshallerUtils;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.internal.MarshallerPlatformIds.JAVA_ID;
@@ -209,7 +209,7 @@ public class BinaryContext {
}
/** */
- private final ConcurrentMap<Class<?>, BinaryClassDescriptor> descByCls = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Class<?>, BinaryClassDescriptor> descByCls = new ConcurrentHashMap<>();
/** */
private final Map<Integer, BinaryClassDescriptor> predefinedTypes = new HashMap<>();
@@ -224,16 +224,16 @@ public class BinaryContext {
private final Map<Class<? extends Map>, Byte> mapTypes = new HashMap<>();
/** Maps typeId to mappers. */
- private final ConcurrentMap<Integer, BinaryInternalMapper> typeId2Mapper = new ConcurrentHashMap8<>(0);
+ private final ConcurrentMap<Integer, BinaryInternalMapper> typeId2Mapper = new ConcurrentHashMap<>(0);
/** Affinity key field names. */
- private final ConcurrentMap<Integer, String> affKeyFieldNames = new ConcurrentHashMap8<>(0);
+ private final ConcurrentMap<Integer, String> affKeyFieldNames = new ConcurrentHashMap<>(0);
/** Maps className to mapper */
- private final ConcurrentMap<String, BinaryInternalMapper> cls2Mappers = new ConcurrentHashMap8<>(0);
+ private final ConcurrentMap<String, BinaryInternalMapper> cls2Mappers = new ConcurrentHashMap<>(0);
/** Affinity key field names. */
- private final ConcurrentMap<Integer, BinaryIdentityResolver> identities = new ConcurrentHashMap8<>(0);
+ private final ConcurrentMap<Integer, BinaryIdentityResolver> identities = new ConcurrentHashMap<>(0);
/** */
private BinaryMetadataHandler metaHnd;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumCache.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumCache.java
index 6089cfd..895782e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumCache.java
@@ -17,8 +17,8 @@
package org.apache.ignite.internal.binary;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.binary.BinaryObjectException;
-import org.jsr166.ConcurrentHashMap8;
import java.util.concurrent.ConcurrentMap;
@@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentMap;
*/
public class BinaryEnumCache {
/** Cache for enum constants. */
- private static final ConcurrentMap<Class<?>, Object[]> ENUM_CACHE = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<Class<?>, Object[]> ENUM_CACHE = new ConcurrentHashMap<>();
/**
* Get value for the given class and ordinal.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index 8970a4e..2ef57e1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -72,7 +72,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_BINARY_MARSHALLER_USE_STRING_SERIALIZATION_VER_2;
@@ -648,7 +647,6 @@ public class BinaryUtils {
return cls == HashMap.class ||
cls == LinkedHashMap.class ||
(!wrapTrees() && cls == TreeMap.class) ||
- cls == ConcurrentHashMap8.class ||
cls == ConcurrentHashMap.class;
}
@@ -668,8 +666,6 @@ public class BinaryUtils {
return U.newLinkedHashMap(((Map)map).size());
else if (!wrapTrees() && cls == TreeMap.class)
return new TreeMap<>(((TreeMap<Object, Object>)map).comparator());
- else if (cls == ConcurrentHashMap8.class)
- return new ConcurrentHashMap8<>(U.capacity(((Map)map).size()));
else if (cls == ConcurrentHashMap.class)
return new ConcurrentHashMap<>(U.capacity(((Map)map).size()));
@@ -688,8 +684,6 @@ public class BinaryUtils {
return U.newLinkedHashMap(map.size());
else if (map instanceof TreeMap)
return new TreeMap<>(((TreeMap<Object, Object>)map).comparator());
- else if (map instanceof ConcurrentHashMap8)
- return new ConcurrentHashMap8<>(U.capacity(map.size()));
else if (map instanceof ConcurrentHashMap)
return new ConcurrentHashMap<>(U.capacity(map.size()));
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
index 12e2cc8..59833fc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
@@ -41,7 +41,7 @@ import org.apache.ignite.internal.client.impl.connection.GridClientConnectionRes
import org.apache.ignite.internal.client.impl.connection.GridClientTopology;
import org.apache.ignite.internal.client.router.GridTcpRouterConfiguration;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.internal.client.util.GridClientUtils.applyFilter;
import static org.apache.ignite.internal.client.util.GridClientUtils.restAvailable;
@@ -57,7 +57,7 @@ public class GridRouterClientImpl implements GridClient {
private final GridClientConfiguration cliCfg;
/** TCP connection managers. */
- private final ConcurrentMap<Byte, GridClientConnectionManager> connMgrMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Byte, GridClientConnectionManager> connMgrMap = new ConcurrentHashMap<>();
/**
* Creates a new TCP client based on the given configuration.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterNodeLocalMapImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterNodeLocalMapImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterNodeLocalMapImpl.java
index 1537bb8..86b690a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterNodeLocalMapImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterNodeLocalMapImpl.java
@@ -29,7 +29,7 @@ import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.IgnitionEx;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Implementation for node-local storage.
@@ -43,7 +43,7 @@ import org.jsr166.ConcurrentHashMap8;
* <p>
* You can get an instance of {@code ClusterNodeLocalMapImpl} by calling {@link IgniteCluster#nodeLocalMap()} method.
*/
-public class ClusterNodeLocalMapImpl<K, V> extends ConcurrentHashMap8<K, V> implements ConcurrentMap<K, V>,
+public class ClusterNodeLocalMapImpl<K, V> extends ConcurrentHashMap<K, V> implements ConcurrentMap<K, V>,
Externalizable {
/** */
private static final long serialVersionUID = 0L;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsLogger.java b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsLogger.java
index 0882832..f95fd4c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsLogger.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsLogger.java
@@ -36,7 +36,7 @@ import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.util.typedef.internal.A;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.jsr166.ConcurrentLinkedDeque8;
/**
@@ -100,8 +100,8 @@ public final class IgfsLogger {
private static final AtomicLong CNTR = new AtomicLong();
/** Loggers. */
- private static final ConcurrentHashMap8<String, IgfsLogger> loggers =
- new ConcurrentHashMap8<>();
+ private static final ConcurrentHashMap<String, IgfsLogger> loggers =
+ new ConcurrentHashMap<>();
/** Lock for atomic logger adds/removals. */
private static final ReadWriteLock logLock = new ReentrantReadWriteLock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
index 2bd9e83..f0b19f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cluster.ClusterNode;
@@ -48,7 +49,6 @@ import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
import org.apache.ignite.spi.checkpoint.CheckpointSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_CHECKPOINT_LOADED;
import static org.apache.ignite.events.EventType.EVT_CHECKPOINT_REMOVED;
@@ -86,7 +86,7 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> {
marsh = ctx.config().getMarshaller();
if (enabled()) {
- keyMap = new ConcurrentHashMap8<>();
+ keyMap = new ConcurrentHashMap<>();
closedSess = new GridBoundedConcurrentLinkedHashSet<>(MAX_CLOSED_SESS,
MAX_CLOSED_SESS,
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index 3a7ac69..b2e9735 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -96,7 +96,6 @@ import org.apache.ignite.spi.communication.CommunicationListener;
import org.apache.ignite.spi.communication.CommunicationSpi;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -140,7 +139,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
private static final ThreadLocal<Byte> CUR_PLC = new ThreadLocal<>();
/** Listeners by topic. */
- private final ConcurrentMap<Object, GridMessageListener> lsnrMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Object, GridMessageListener> lsnrMap = new ConcurrentHashMap<>();
/** System listeners. */
private volatile GridMessageListener[] sysLsnrs;
@@ -159,14 +158,14 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
/** */
private final ConcurrentMap<Object, ConcurrentMap<UUID, GridCommunicationMessageSet>> msgSetMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Local node ID. */
private final UUID locNodeId;
/** Cache for messages that were received prior to discovery. */
private final ConcurrentMap<UUID, ConcurrentLinkedDeque8<DelayedMessage>> waitMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Communication message listener. */
private CommunicationListener<Serializable> commLsnr;
@@ -2800,7 +2799,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
/**
*
*/
- private static class ConcurrentHashMap0<K, V> extends ConcurrentHashMap8<K, V> {
+ private static class ConcurrentHashMap0<K, V> extends ConcurrentHashMap<K, V> {
/** */
private static final long serialVersionUID = 0L;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index b220040..e29a316 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -159,14 +159,14 @@ import org.apache.ignite.spi.communication.tcp.messages.HandshakeMessage;
import org.apache.ignite.spi.communication.tcp.messages.HandshakeMessage2;
import org.apache.ignite.spi.communication.tcp.messages.NodeIdMessage;
import org.apache.ignite.spi.communication.tcp.messages.RecoveryLastReceivedMessage;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Message factory implementation.
*/
public class GridIoMessageFactory implements MessageFactory {
/** Custom messages registry. Used for test purposes. */
- private static final Map<Short, IgniteOutClosure<Message>> CUSTOM = new ConcurrentHashMap8<>();
+ private static final Map<Short, IgniteOutClosure<Message>> CUSTOM = new ConcurrentHashMap<>();
/** Extensions. */
private final MessageFactory[] ext;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java
index f5aafb2..c3efc59 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java
@@ -46,7 +46,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Represents single class deployment.
@@ -84,30 +84,30 @@ public class GridDeployment extends GridMetadataAwareAdapter implements GridDepl
@GridToStringExclude
private final ConcurrentMap<Class<?>,
ConcurrentMap<Class<? extends Annotation>, GridTuple<Annotation>>> anns =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Classes. */
@GridToStringExclude
- private final ConcurrentMap<String, Class<?>> clss = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<String, Class<?>> clss = new ConcurrentHashMap<>();
/** Task classes 'internal' flags. */
@GridToStringExclude
- private final ConcurrentMap<Class<?>, Boolean> internalTasks = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Class<?>, Boolean> internalTasks = new ConcurrentHashMap<>();
/** Field cache. */
@GridToStringExclude
private final ConcurrentMap<Class<?>, ConcurrentMap<Class<? extends Annotation>, Collection<Field>>> fieldCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Method cache. */
@GridToStringExclude
private final ConcurrentMap<Class<?>, ConcurrentMap<Class<? extends Annotation>, Collection<Method>>> mtdCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Default constructor cache. */
@GridToStringExclude
private final ConcurrentMap<Class<?>, GridTuple<Constructor<?>>> dfltCtorsCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* @param depMode Deployment mode.
@@ -342,7 +342,7 @@ public class GridDeployment extends GridMetadataAwareAdapter implements GridDepl
if (clsAnns == null) {
ConcurrentMap<Class<? extends Annotation>, GridTuple<Annotation>> old = anns.putIfAbsent(cls,
- clsAnns = new ConcurrentHashMap8<>());
+ clsAnns = new ConcurrentHashMap<>());
if (old != null)
clsAnns = old;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentClassLoader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentClassLoader.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentClassLoader.java
index 78f1066..ca9ce32 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentClassLoader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentClassLoader.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
@@ -40,7 +41,6 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Class loader that is able to resolve task subclasses and resources
@@ -179,7 +179,7 @@ class GridDeploymentClassLoader extends ClassLoader implements GridDeploymentInf
missedRsrcs = missedResourcesCacheSize > 0 ?
new GridBoundedLinkedHashSet<String>(missedResourcesCacheSize) : null;
- byteMap = clsBytesCacheEnabled ? new ConcurrentHashMap8<String, byte[]>() : null;
+ byteMap = clsBytesCacheEnabled ? new ConcurrentHashMap<String, byte[]>() : null;
this.quiet = quiet;
}
@@ -251,7 +251,7 @@ class GridDeploymentClassLoader extends ClassLoader implements GridDeploymentInf
missedRsrcs = missedResourcesCacheSize > 0 ?
new GridBoundedLinkedHashSet<String>(missedResourcesCacheSize) : null;
- byteMap = clsBytesCacheEnabled ? new ConcurrentHashMap8<String, byte[]>() : null;
+ byteMap = clsBytesCacheEnabled ? new ConcurrentHashMap<String, byte[]>() : null;
this.quiet = quiet;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
index ab45708..14581f6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.compute.ComputeTask;
@@ -45,7 +46,6 @@ import org.apache.ignite.spi.deployment.DeploymentListener;
import org.apache.ignite.spi.deployment.DeploymentResource;
import org.apache.ignite.spi.deployment.DeploymentSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.events.EventType.EVT_CLASS_DEPLOYED;
@@ -61,7 +61,7 @@ import static org.apache.ignite.events.EventType.EVT_TASK_UNDEPLOYED;
class GridDeploymentLocalStore extends GridDeploymentStoreAdapter {
/** Deployment cache by class name. */
private final ConcurrentMap<String, ConcurrentLinkedDeque8<GridDeployment>> cache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Mutex. */
private final Object mux = new Object();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
index 8447c97..14aa49f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
@@ -27,6 +27,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.configuration.DeploymentMode;
@@ -49,7 +50,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.AbstractMarshaller;
import org.apache.ignite.spi.deployment.DeploymentSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.configuration.DeploymentMode.CONTINUOUS;
import static org.apache.ignite.configuration.DeploymentMode.SHARED;
@@ -99,7 +99,7 @@ public class GridDeploymentPerVersionStore extends GridDeploymentStoreAdapter {
missedRsrcCacheSize = ctx.config().getPeerClassLoadingMissedResourcesCacheSize();
- rsrcCache = new ConcurrentHashMap8<>();
+ rsrcCache = new ConcurrentHashMap<>();
}
/** {@inheritDoc} */
@@ -722,7 +722,7 @@ public class GridDeploymentPerVersionStore extends GridDeploymentStoreAdapter {
if (found || missedRsrcCacheSize > 0) {
if (ldrRsrcCache == null)
ldrRsrcCache = F.addIfAbsent(rsrcCache, meta.classLoaderId(),
- new ConcurrentHashMap8<String, Boolean>());
+ new ConcurrentHashMap<String, Boolean>());
// This is the only place where cache could have been changed,
// so we remove only here if classloader have been undeployed
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 7f844ea..e336667 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -124,7 +124,6 @@ import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_BINARY_MARSHALLER_USE_STRING_SERIALIZATION_VER_2;
@@ -267,7 +266,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
/** Custom event listener. */
private ConcurrentMap<Class<?>, List<CustomEventListener<DiscoveryCustomMessage>>> customEvtLsnrs =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Local node initialization event listeners. */
private final Collection<IgniteInClosure<ClusterNode>> locNodeInitLsnrs = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
index 2b9a5ee..6808450 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
@@ -30,6 +30,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReadWriteLock;
@@ -68,7 +69,6 @@ import org.apache.ignite.spi.eventstorage.EventStorageSpi;
import org.apache.ignite.spi.eventstorage.NoopEventStorageSpi;
import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVTS_ALL;
import static org.apache.ignite.events.EventType.EVTS_DISCOVERY_ALL;
@@ -84,7 +84,7 @@ import static org.apache.ignite.internal.managers.communication.GridIoPolicy.PUB
*/
public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi> {
/** Local event listeners. */
- private final ConcurrentMap<Integer, Listeners> lsnrs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Integer, Listeners> lsnrs = new ConcurrentHashMap<>();
/** Busy lock to control activity of threads. */
private final ReadWriteLock busyLock = new ReentrantReadWriteLock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedMarshaller.java
index 0a54be2..d93daab 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedMarshaller.java
@@ -29,7 +29,7 @@ import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import sun.misc.Unsafe;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_OPTIMIZED_MARSHALLER_USE_DEFAULT_SUID;
@@ -97,7 +97,7 @@ public class OptimizedMarshaller extends AbstractNodeNameAwareMarshaller {
private OptimizedMarshallerIdMapper mapper;
/** Class descriptors by class. */
- private final ConcurrentMap<Class, OptimizedClassDescriptor> clsMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Class, OptimizedClassDescriptor> clsMap = new ConcurrentHashMap<>();
/**
* Creates new marshaller will all defaults.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java
index 9c9fb8f..128eaf0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java
@@ -63,7 +63,7 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -87,7 +87,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter {
private static final long ERROR_WAIT = 500;
/** Affinity map. */
- private final ConcurrentMap<AffinityAssignmentKey, IgniteInternalFuture<AffinityInfo>> affMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<AffinityAssignmentKey, IgniteInternalFuture<AffinityInfo>> affMap = new ConcurrentHashMap<>();
/** Listener. */
private final GridLocalEventListener lsnr = new GridLocalEventListener() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index 7bf793c..9ab052d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -73,7 +73,6 @@ import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.cache.CacheRebalanceMode.NONE;
@@ -121,7 +120,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
/** Pending affinity assignment futures. */
private final ConcurrentMap<Long, GridDhtAssignmentFetchFuture> pendingAssignmentFetchFuts =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
private final ThreadLocal<ClientCacheChangeDiscoveryMessage> clientCacheChanges = new ThreadLocal<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStoreBalancingWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStoreBalancingWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStoreBalancingWrapper.java
index 5cc4ded..6abcfa8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStoreBalancingWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStoreBalancingWrapper.java
@@ -22,6 +22,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import javax.cache.Cache;
import javax.cache.integration.CacheLoaderException;
@@ -34,7 +35,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteBiInClosure;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Cache store wrapper that ensures that there will be no more that one thread loading value from underlying store.
@@ -47,7 +47,7 @@ public class CacheStoreBalancingWrapper<K, V> implements CacheStore<K, V> {
private CacheStore<K, V> delegate;
/** Pending cache store loads. */
- private ConcurrentMap<K, LoadFuture> pendingLoads = new ConcurrentHashMap8<>();
+ private ConcurrentMap<K, LoadFuture> pendingLoads = new ConcurrentHashMap<>();
/** Load all threshold. */
private int loadAllThreshold = DFLT_LOAD_ALL_THRESHOLD;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheWeakQueryIteratorsHolder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheWeakQueryIteratorsHolder.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheWeakQueryIteratorsHolder.java
index 2e03b53..d414c80 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheWeakQueryIteratorsHolder.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheWeakQueryIteratorsHolder.java
@@ -22,13 +22,13 @@ import java.lang.ref.ReferenceQueue;
import java.lang.ref.WeakReference;
import java.util.Map;
import java.util.NoSuchElementException;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.processors.cache.query.CacheQueryFuture;
import org.apache.ignite.internal.util.GridCloseableIteratorAdapter;
import org.apache.ignite.internal.util.lang.GridCloseableIterator;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jsr166.ConcurrentHashMap8;
/**
* @param <V> Type for cache query future.
@@ -38,7 +38,7 @@ public class CacheWeakQueryIteratorsHolder<V> {
private final ReferenceQueue refQueue = new ReferenceQueue();
/** Iterators futures. */
- private final Map<WeakReference, AutoCloseable> refs = new ConcurrentHashMap8<>();
+ private final Map<WeakReference, AutoCloseable> refs = new ConcurrentHashMap<>();
/** Logger. */
private final IgniteLogger log;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
index c40ed98..b70439a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReadWriteLock;
@@ -51,7 +52,6 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedHashMap;
import static org.apache.ignite.configuration.DeploymentMode.CONTINUOUS;
@@ -71,10 +71,10 @@ public class GridCacheDeploymentManager<K, V> extends GridCacheSharedManagerAdap
private final Map<String, List<CA>> undeploys = new HashMap<>();
/** Per-thread deployment context. */
- private ConcurrentMap<IgniteUuid, CachedDeploymentInfo<K, V>> deps = new ConcurrentHashMap8<>();
+ private ConcurrentMap<IgniteUuid, CachedDeploymentInfo<K, V>> deps = new ConcurrentHashMap<>();
/** Collection of all known participants (Node ID -> Loader ID). */
- private Map<UUID, IgniteUuid> allParticipants = new ConcurrentHashMap8<>();
+ private Map<UUID, IgniteUuid> allParticipants = new ConcurrentHashMap<>();
/** Discovery listener. */
private GridLocalEventListener discoLsnr;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index e6e40e2..11a416f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -24,6 +24,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
@@ -88,7 +89,6 @@ import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.internal.GridTopic.TOPIC_CACHE;
import static org.apache.ignite.internal.util.IgniteUtils.nl;
@@ -1572,11 +1572,11 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
/** Handler registry. */
ConcurrentMap<ListenerKey, IgniteBiInClosure<UUID, GridCacheMessage>>
- clsHandlers = new ConcurrentHashMap8<>();
+ clsHandlers = new ConcurrentHashMap<>();
/** Ordered handler registry. */
ConcurrentMap<Object, IgniteBiInClosure<UUID, ? extends GridCacheMessage>> orderedHandlers =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLocalConcurrentMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLocalConcurrentMap.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLocalConcurrentMap.java
index 63cfe1f..8d2a1e3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLocalConcurrentMap.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLocalConcurrentMap.java
@@ -18,8 +18,8 @@
package org.apache.ignite.internal.processors.cache;
+import java.util.concurrent.ConcurrentHashMap;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* GridCacheConcurrentMap implementation for local and near caches.
@@ -41,7 +41,7 @@ public class GridCacheLocalConcurrentMap extends GridCacheConcurrentMapImpl {
this.cacheId = cctx.cacheId();
this.entryMap = new CacheMapHolder(cctx,
- new ConcurrentHashMap8<KeyCacheObject, GridCacheMapEntry>(initCap, 0.75f, Runtime.getRuntime().availableProcessors() * 2));
+ new ConcurrentHashMap<KeyCacheObject, GridCacheMapEntry>(initCap, 0.75f, Runtime.getRuntime().availableProcessors() * 2));
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
index a7d9ce7..a1c1792 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
@@ -64,7 +64,7 @@ import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_MAX_NESTED_LISTENER_CALLS;
@@ -110,13 +110,13 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
private final ConcurrentMap<GridCacheVersion, Collection<GridCacheVersionedFuture<?>>> verFuts = newMap();
/** Pending atomic futures. */
- private final ConcurrentHashMap8<Long, GridCacheAtomicFuture<?>> atomicFuts = new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<Long, GridCacheAtomicFuture<?>> atomicFuts = new ConcurrentHashMap<>();
/** Pending data streamer futures. */
private final GridConcurrentHashSet<DataStreamerFuture> dataStreamerFuts = new GridConcurrentHashSet<>();
/** */
- private final ConcurrentMap<IgniteUuid, GridCacheFuture<?>> futs = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<IgniteUuid, GridCacheFuture<?>> futs = new ConcurrentHashMap<>();
/** Near to DHT version mapping. */
private final ConcurrentMap<GridCacheVersion, GridCacheVersion> near2dht = newMap();
@@ -1195,7 +1195,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
/** */
@GridToStringInclude
private final Map<IgniteTxKey, Collection<GridCacheMvccCandidate>> pendingLocks =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/**
* @param topVer Topology version.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 8aa6db9..1bd5591 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -111,7 +111,7 @@ import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_IO_DUMP_ON_TIMEOUT;
@@ -160,7 +160,7 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
/** */
@GridToStringExclude
- private final ConcurrentMap<Integer, GridClientPartitionTopology> clientTops = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Integer, GridClientPartitionTopology> clientTops = new ConcurrentHashMap<>();
/** */
@Nullable private volatile GridDhtPartitionsExchangeFuture lastInitializedFut;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
index cb01532..c2f9229 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
@@ -23,8 +23,10 @@ import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicIntegerArray;
+import java.util.function.BiFunction;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
@@ -68,7 +70,6 @@ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.plugin.PluginProvider;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_LOCAL_STORE_KEEPS_PRIMARY_ONLY;
@@ -126,7 +127,7 @@ public class GridCacheSharedContext<K, V> {
private GridCacheSharedTtlCleanupManager ttlMgr;
/** Cache contexts map. */
- private ConcurrentHashMap8<Integer, GridCacheContext<K, V>> ctxMap;
+ private ConcurrentHashMap<Integer, GridCacheContext<K, V>> ctxMap;
/** Tx metrics. */
private volatile TransactionMetricsAdapter txMetrics;
@@ -210,7 +211,7 @@ public class GridCacheSharedContext<K, V> {
txMetrics = new TransactionMetricsAdapter();
- ctxMap = new ConcurrentHashMap8<>();
+ ctxMap = new ConcurrentHashMap<>();
locStoreCnt = new AtomicInteger();
@@ -464,12 +465,10 @@ public class GridCacheSharedContext<K, V> {
void forAllCaches(final IgniteInClosure<GridCacheContext> c) {
for (Integer cacheId : ctxMap.keySet()) {
ctxMap.computeIfPresent(cacheId,
- new ConcurrentHashMap8.BiFun<Integer, GridCacheContext<K, V>, GridCacheContext<K, V>>() {
- @Override public GridCacheContext<K, V> apply(Integer cacheId, GridCacheContext<K, V> ctx) {
- c.apply(ctx);
+ (cacheId1, ctx) -> {
+ c.apply(ctx);
- return ctx;
- }
+ return ctx;
}
);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 0d63fc0..9875f64 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.cache.Cache;
@@ -103,7 +104,6 @@ import org.apache.ignite.transactions.TransactionIsolation;
import org.apache.ignite.transactions.TransactionRollbackException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -595,7 +595,7 @@ public class GridCacheUtils {
*/
public static <K, V> IgniteReducer<Map<K, V>, Map<K, V>> mapsReducer(final int size) {
return new IgniteReducer<Map<K, V>, Map<K, V>>() {
- private final Map<K, V> ret = new ConcurrentHashMap8<>(size);
+ private final Map<K, V> ret = new ConcurrentHashMap<>(size);
@Override public boolean collect(Map<K, V> map) {
if (map != null)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridDeferredAckMessageSender.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridDeferredAckMessageSender.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridDeferredAckMessageSender.java
index a8e8226..c3dbf3f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridDeferredAckMessageSender.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridDeferredAckMessageSender.java
@@ -26,7 +26,7 @@ import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import org.jsr166.ConcurrentLinkedDeque8;
/**
@@ -34,7 +34,7 @@ import org.jsr166.ConcurrentLinkedDeque8;
*/
public abstract class GridDeferredAckMessageSender<T> {
/** Deferred message buffers. */
- private ConcurrentMap<UUID, DeferredAckMessageBuffer> deferredAckMsgBuffers = new ConcurrentHashMap8<>();
+ private ConcurrentMap<UUID, DeferredAckMessageBuffer> deferredAckMsgBuffers = new ConcurrentHashMap<>();
/** Timeout processor. */
private GridTimeoutProcessor time;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataTransport.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataTransport.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataTransport.java
index def7caa..e2eef28 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataTransport.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataTransport.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.binary;
import java.util.List;
import java.util.Queue;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -44,7 +45,6 @@ import org.apache.ignite.internal.util.future.GridFutureAdapter;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteInClosure;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -81,10 +81,10 @@ final class BinaryMetadataTransport {
private final Queue<MetadataUpdateResultFuture> unlabeledFutures = new ConcurrentLinkedQueue<>();
/** */
- private final ConcurrentMap<SyncKey, MetadataUpdateResultFuture> syncMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<SyncKey, MetadataUpdateResultFuture> syncMap = new ConcurrentHashMap<>();
/** */
- private final ConcurrentMap<Integer, ClientMetadataRequestFuture> clientReqSyncMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Integer, ClientMetadataRequestFuture> clientReqSyncMap = new ConcurrentHashMap<>();
/** */
private volatile boolean stopping;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index 2a374a2..3a0ba3c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@ -86,7 +86,6 @@ import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData;
import org.apache.ignite.spi.discovery.IgniteDiscoveryThread;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK;
import static org.apache.ignite.IgniteSystemProperties.getBoolean;
@@ -135,7 +134,7 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm
};
/** Locally cached metadata. This local cache is managed by exchanging discovery custom events. */
- private final ConcurrentMap<Integer, BinaryMetadataHolder> metadataLocCache = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<Integer, BinaryMetadataHolder> metadataLocCache = new ConcurrentHashMap<>();
/** */
private BinaryMetadataTransport transport;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
index a9b60228..cd0edf3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
@@ -70,7 +70,7 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.internal.GridClosureCallMode.BROADCAST;
@@ -107,7 +107,7 @@ public class CacheDataStructuresManager extends GridCacheManagerAdapter {
/** Set keys used for set iteration. */
private ConcurrentMap<IgniteUuid, GridConcurrentHashSet<SetItemKey>> setDataMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Queues map. */
private final ConcurrentMap<IgniteUuid, GridCacheQueueProxy> queuesMap;
@@ -134,9 +134,9 @@ public class CacheDataStructuresManager extends GridCacheManagerAdapter {
*
*/
public CacheDataStructuresManager() {
- queuesMap = new ConcurrentHashMap8<>(10);
+ queuesMap = new ConcurrentHashMap<>(10);
- setsMap = new ConcurrentHashMap8<>(10);
+ setsMap = new ConcurrentHashMap<>(10);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxFinishSync.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxFinishSync.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxFinishSync.java
index 1e323d0..02d1e8e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxFinishSync.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxFinishSync.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.distributed;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
@@ -30,7 +31,6 @@ import org.apache.ignite.internal.util.future.GridFutureAdapter;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.lang.IgniteFuture;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Synchronization structure for asynchronous waiting for near tx finish responses based on per-node per-thread
@@ -44,7 +44,7 @@ public class GridCacheTxFinishSync<K, V> {
private IgniteLogger log;
/** Nodes map. */
- private ConcurrentMap<Long, ThreadFinishSync> threadMap = new ConcurrentHashMap8<>();
+ private ConcurrentMap<Long, ThreadFinishSync> threadMap = new ConcurrentHashMap<>();
/**
* @param cctx Cache context.
@@ -125,7 +125,7 @@ public class GridCacheTxFinishSync<K, V> {
private long threadId;
/** Thread map. */
- private final Map<UUID, TxFinishSync> nodeMap = new ConcurrentHashMap8<>();
+ private final Map<UUID, TxFinishSync> nodeMap = new ConcurrentHashMap<>();
/**
* @param threadId Thread ID.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
index 953b47d..ba55543 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import javax.cache.Cache;
import javax.cache.expiry.ExpiryPolicy;
@@ -85,7 +86,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@@ -104,7 +104,7 @@ public abstract class GridDhtCacheAdapter<K, V> extends GridDistributedCacheAdap
private ThreadLocal<IgniteBiTuple<IgniteUuid, GridDhtTopologyFuture>> multiTxHolder = new ThreadLocal<>();
/** Multi tx futures. */
- private ConcurrentMap<IgniteUuid, MultiUpdateFuture> multiTxFuts = new ConcurrentHashMap8<>();
+ private ConcurrentMap<IgniteUuid, MultiUpdateFuture> multiTxFuts = new ConcurrentHashMap<>();
/** Force key futures. */
private final ConcurrentMap<IgniteUuid, GridDhtForceKeysFuture<?, ?>> forceKeyFuts = newMap();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
index 7a982ce..077ccf8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
@@ -56,7 +56,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
@@ -219,7 +218,7 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements
* @return Entries map.
*/
private ConcurrentMap<KeyCacheObject, GridCacheMapEntry> createEntriesMap() {
- return new ConcurrentHashMap8<>(Math.max(10, GridCacheAdapter.DFLT_START_CACHE_SIZE / grp.affinity().partitions()),
+ return new ConcurrentHashMap<>(Math.max(10, GridCacheAdapter.DFLT_START_CACHE_SIZE / grp.affinity().partitions()),
0.75f,
Runtime.getRuntime().availableProcessors() * 2);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
index e0a0260..6de39f9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
@@ -70,7 +71,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_OBJECT_LOADED;
import static org.apache.ignite.internal.processors.dr.GridDrType.DR_NONE;
@@ -116,7 +116,7 @@ public final class GridDhtLockFuture extends GridCacheCompoundIdentityFuture<Boo
/** DHT mappings. */
private Map<ClusterNode, List<GridDhtCacheEntry>> dhtMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Future ID. */
private IgniteUuid futId;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index c7282a8..bed9243 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -56,7 +56,7 @@ import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.apache.ignite.transactions.TransactionState;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.NOOP;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.READ;
@@ -76,10 +76,10 @@ public abstract class GridDhtTxLocalAdapter extends IgniteTxLocalAdapter {
private static final long serialVersionUID = 0L;
/** Near mappings. */
- protected Map<UUID, GridDistributedTxMapping> nearMap = new ConcurrentHashMap8<>();
+ protected Map<UUID, GridDistributedTxMapping> nearMap = new ConcurrentHashMap<>();
/** DHT mappings. */
- protected Map<UUID, GridDistributedTxMapping> dhtMap = new ConcurrentHashMap8<>();
+ protected Map<UUID, GridDistributedTxMapping> dhtMap = new ConcurrentHashMap<>();
/** Mapped flag. */
protected volatile boolean mapped;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index e4f4601..c10f2ca 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.ignite.IgniteCheckedException;
@@ -79,7 +80,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.transactions.TransactionDeadlockException;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
import static org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_READ;
@@ -236,7 +236,7 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF
log = U.logger(cctx.kernalContext(), logRef, GridDhtColocatedLockFuture.class);
}
- valMap = new ConcurrentHashMap8<>();
+ valMap = new ConcurrentHashMap<>();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 695c840..73e6417 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -101,7 +102,6 @@ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteRunnable;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_LONG_OPERATIONS_DUMP_TIMEOUT_LIMIT;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_PARTITION_RELEASE_FUTURE_DUMP_THRESHOLD;
@@ -203,10 +203,10 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
* Messages received on non-coordinator are stored in case if this node
* becomes coordinator.
*/
- private final Map<UUID, GridDhtPartitionsSingleMessage> pendingSingleMsgs = new ConcurrentHashMap8<>();
+ private final Map<UUID, GridDhtPartitionsSingleMessage> pendingSingleMsgs = new ConcurrentHashMap<>();
/** Messages received from new coordinator. */
- private final Map<ClusterNode, GridDhtPartitionsFullMessage> fullMsgs = new ConcurrentHashMap8<>();
+ private final Map<ClusterNode, GridDhtPartitionsFullMessage> fullMsgs = new ConcurrentHashMap<>();
/** */
@SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"})
@@ -244,10 +244,10 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
private Exception changeGlobalStateE;
/** Change global state exceptions. */
- private final Map<UUID, Exception> changeGlobalStateExceptions = new ConcurrentHashMap8<>();
+ private final Map<UUID, Exception> changeGlobalStateExceptions = new ConcurrentHashMap<>();
/** */
- private ConcurrentMap<UUID, GridDhtPartitionsSingleMessage> msgs = new ConcurrentHashMap8<>();
+ private ConcurrentMap<UUID, GridDhtPartitionsSingleMessage> msgs = new ConcurrentHashMap<>();
/** Single messages from merged 'node join' exchanges. */
@GridToStringExclude
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
index 70912de..6ff5e65 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.Queue;
import java.util.Set;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.ignite.IgniteCheckedException;
@@ -75,7 +76,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.transactions.TransactionDeadlockException;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
import static org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_READ;
@@ -238,7 +238,7 @@ public final class GridNearLockFuture extends GridCacheCompoundIdentityFuture<Bo
if (log == null)
log = U.logger(cctx.kernalContext(), logRef, GridNearLockFuture.class);
- valMap = new ConcurrentHashMap8<>();
+ valMap = new ConcurrentHashMap<>();
}
/** {@inheritDoc} */
[2/5] ignite git commit: IGNITE-7513 Get rid of
org.jsr166.ConcurrentHashMap8
Posted by av...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
index bcd2bde..4a7d5d5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
@@ -97,7 +97,6 @@ import org.apache.ignite.testframework.junits.GridTestKernalContext;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.ignite.internal.binary.streams.BinaryMemoryAllocator.INSTANCE;
@@ -498,7 +497,7 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
testMap(new HashMap<Integer, String>());
testMap(new LinkedHashMap<Integer, String>());
testMap(new TreeMap<Integer, String>());
- testMap(new ConcurrentHashMap8<Integer, String>());
+ testMap(new ConcurrentHashMap<Integer, String>());
testMap(new ConcurrentHashMap<Integer, String>());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/managers/deployment/GridDeploymentMessageCountSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/deployment/GridDeploymentMessageCountSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/deployment/GridDeploymentMessageCountSelfTest.java
index ce3f6a6..9ef688a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/deployment/GridDeploymentMessageCountSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/deployment/GridDeploymentMessageCountSelfTest.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.managers.deployment;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteException;
@@ -36,7 +37,6 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.REPLICATED;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
@@ -55,7 +55,7 @@ public class GridDeploymentMessageCountSelfTest extends GridCommonAbstractTest {
private static final String TEST_VALUE = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue";
/** SPIs. */
- private Map<String, MessageCountingCommunicationSpi> commSpis = new ConcurrentHashMap8<>();
+ private Map<String, MessageCountingCommunicationSpi> commSpis = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override protected void afterTestsStopped() throws Exception {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectStreamSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectStreamSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectStreamSelfTest.java
index d018714..ed0862b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectStreamSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectStreamSelfTest.java
@@ -67,7 +67,7 @@ import org.apache.ignite.marshaller.MarshallerExclusions;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.junit.Assert.assertArrayEquals;
@@ -79,7 +79,7 @@ public class OptimizedObjectStreamSelfTest extends GridCommonAbstractTest {
private static final MarshallerContext CTX = new MarshallerContextTestImpl();
/** */
- private ConcurrentMap<Class, OptimizedClassDescriptor> clsMap = new ConcurrentHashMap8<>();
+ private ConcurrentMap<Class, OptimizedClassDescriptor> clsMap = new ConcurrentHashMap<>();
/**
* @throws Exception If failed.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheNearReaderUpdateTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheNearReaderUpdateTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheNearReaderUpdateTest.java
index c00fe16..1a02184 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheNearReaderUpdateTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheNearReaderUpdateTest.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.atomic.AtomicInteger;
@@ -47,7 +48,6 @@ import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.apache.ignite.transactions.TransactionOptimisticException;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
@@ -74,7 +74,7 @@ public class CacheNearReaderUpdateTest extends GridCommonAbstractTest {
private static final int CLIENTS = 3;
/** */
- private static Map<Integer, Integer> storeMap = new ConcurrentHashMap8<>();
+ private static Map<Integer, Integer> storeMap = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
index 6ee4c99..9ca73d9 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.CyclicBarrier;
@@ -75,7 +76,6 @@ import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.apache.ignite.transactions.TransactionOptimisticException;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -100,7 +100,7 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
private static final boolean FAST = false;
/** */
- private static Map<Integer, Integer> storeMap = new ConcurrentHashMap8<>();
+ private static Map<Integer, Integer> storeMap = new ConcurrentHashMap<>();
/** */
private static final int SRVS = 4;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractRemoveFailureTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractRemoveFailureTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractRemoveFailureTest.java
index 11f19b2..7f373b4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractRemoveFailureTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractRemoveFailureTest.java
@@ -54,7 +54,7 @@ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
@@ -218,7 +218,7 @@ public abstract class GridCacheAbstractRemoveFailureTest extends GridCommonAbstr
final AtomicLong errCntr = new AtomicLong();
// Expected values in cache.
- final Map<Integer, GridTuple<Integer>> expVals = new ConcurrentHashMap8<>();
+ final Map<Integer, GridTuple<Integer>> expVals = new ConcurrentHashMap<>();
final AtomicReference<CyclicBarrier> cmp = new AtomicReference<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheInterceptorAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
index fdca159..432011e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
@@ -44,7 +44,7 @@ import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
import static org.apache.ignite.cache.CacheMode.LOCAL;
@@ -1511,19 +1511,19 @@ public abstract class GridCacheInterceptorAbstractSelfTest extends GridCacheAbst
*/
private static class Interceptor implements CacheInterceptor {
/** */
- private final Map<Object, Object> getMap = new ConcurrentHashMap8<>();
+ private final Map<Object, Object> getMap = new ConcurrentHashMap<>();
/** */
- private final Map<Object, Object> afterPutMap = new ConcurrentHashMap8<>();
+ private final Map<Object, Object> afterPutMap = new ConcurrentHashMap<>();
/** */
- private final Map<Object, IgniteBiTuple> beforePutMap = new ConcurrentHashMap8<>();
+ private final Map<Object, IgniteBiTuple> beforePutMap = new ConcurrentHashMap<>();
/** */
- private final Map<Object, Object> beforeRmvMap = new ConcurrentHashMap8<>();
+ private final Map<Object, Object> beforeRmvMap = new ConcurrentHashMap<>();
/** */
- private final Map<Object, Object> afterRmvMap = new ConcurrentHashMap8<>();
+ private final Map<Object, Object> afterRmvMap = new ConcurrentHashMap<>();
/** */
private final AtomicInteger invokeCnt = new AtomicInteger();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOrderedPreloadingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOrderedPreloadingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOrderedPreloadingSelfTest.java
index bc4f2cb..34b5876 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOrderedPreloadingSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOrderedPreloadingSelfTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheMode;
@@ -34,7 +35,6 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.cache.CacheMode.REPLICATED;
@@ -66,16 +66,16 @@ public class GridCacheOrderedPreloadingSelfTest extends GridCommonAbstractTest {
private CacheMode secondCacheMode;
/** Caches rebalance finish times. */
- private ConcurrentHashMap8<Integer, ConcurrentHashMap8<String, Long>> times;
+ private ConcurrentHashMap<Integer, ConcurrentHashMap<String, Long>> times;
/** {@inheritDoc} */
@Override protected void beforeTest() throws Exception {
super.beforeTestsStarted();
- times = new ConcurrentHashMap8<>();
+ times = new ConcurrentHashMap<>();
for (int i = 0; i < GRID_CNT; i++)
- times.put(i, new ConcurrentHashMap8<String, Long>());
+ times.put(i, new ConcurrentHashMap<String, Long>());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
index 7a21714..a1623d2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache;
import java.io.Serializable;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.cache.Cache;
import javax.cache.integration.CacheLoaderException;
import javax.cache.integration.CacheWriterException;
@@ -42,7 +43,6 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.cache.CacheRebalanceMode.SYNC;
@@ -295,7 +295,7 @@ public class GridCacheStoreManagerDeserializationTest extends GridCommonAbstract
@CacheLocalStore
protected static class GridCacheLocalTestStore<K, V> extends CacheStoreAdapter<K, V> {
/** */
- public final Map<K, V> map = new ConcurrentHashMap8<>();
+ public final Map<K, V> map = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public V load(final K key) throws CacheLoaderException {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractTest.java
index 34a811b..409c0af 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractTest.java
@@ -38,10 +38,8 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
-import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
-import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
@@ -53,7 +51,7 @@ public abstract class IgniteCacheAbstractTest extends GridCommonAbstractTest {
private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
/** */
- public static final Map<Object, Object> storeMap = new ConcurrentHashMap8<>();
+ public static final Map<Object, Object> storeMap = new ConcurrentHashMap<>();
/**
* @return Grids count to start.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheReadThroughStoreCallTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheReadThroughStoreCallTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheReadThroughStoreCallTest.java
index 381a044..423c4a1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheReadThroughStoreCallTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheReadThroughStoreCallTest.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.cache;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.cache.Cache;
import javax.cache.configuration.Factory;
@@ -43,7 +44,6 @@ import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -59,7 +59,7 @@ public class IgniteCacheReadThroughStoreCallTest extends GridCommonAbstractTest
private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
/** */
- private static final Map<Object, Object> storeMap = new ConcurrentHashMap8<>();
+ private static final Map<Object, Object> storeMap = new ConcurrentHashMap<>();
/** */
protected boolean client;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/MapCacheStoreStrategy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/MapCacheStoreStrategy.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/MapCacheStoreStrategy.java
index 800d781..3de3d7a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/MapCacheStoreStrategy.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/MapCacheStoreStrategy.java
@@ -26,7 +26,7 @@ import org.apache.ignite.cache.store.CacheStore;
import org.apache.ignite.cache.store.CacheStoreAdapter;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.lang.IgniteBiInClosure;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* {@link TestCacheStoreStrategy} implemented as a wrapper around {@link #map}
@@ -42,7 +42,7 @@ public class MapCacheStoreStrategy implements TestCacheStoreStrategy {
private final static AtomicInteger reads = new AtomicInteger();
/** Store map. */
- private final static Map<Object, Object> map = new ConcurrentHashMap8<>();
+ private final static Map<Object, Object> map = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public int getReads() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java
index b505f38..f1ca871 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java
@@ -36,7 +36,7 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Tests for cache store with binary.
@@ -283,7 +283,7 @@ public abstract class GridCacheBinaryStoreAbstractSelfTest extends GridCommonAbs
*/
private static class TestStore extends CacheStoreAdapter<Object, Object> {
/** */
- private final Map<Object, Object> map = new ConcurrentHashMap8<>();
+ private final Map<Object, Object> map = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Nullable @Override public Object load(Object key) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
index 87e121e..2b7f2a8 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache.distributed;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.cache.integration.CompletionListenerFuture;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
@@ -39,7 +40,6 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
@@ -58,7 +58,7 @@ public abstract class GridCachePartitionedReloadAllAbstractSelfTest extends Grid
private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
/** Map where dummy cache store values are stored. */
- private final Map<Integer, String> map = new ConcurrentHashMap8<>();
+ private final Map<Integer, String> map = new ConcurrentHashMap<>();
/** Collection of caches, one per grid node. */
private List<IgniteCache<Integer, String>> caches;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java
index 82823a9..6024030 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.cache.distributed.dht;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import javax.cache.Cache;
import javax.cache.configuration.Factory;
@@ -32,7 +33,6 @@ import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.junit.Assert;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -102,7 +102,7 @@ public class GridCacheGlobalLoadTest extends IgniteCacheAbstractTest {
assertTrue(asyncCache.isAsync());
- map = new ConcurrentHashMap8<>();
+ map = new ConcurrentHashMap<>();
if (async) {
if (oldAsyncApi) {
@@ -129,7 +129,7 @@ public class GridCacheGlobalLoadTest extends IgniteCacheAbstractTest {
assertEquals(cache.get(2), (Integer)2);
assertEquals(cache.get(3), (Integer)3);
- map = new ConcurrentHashMap8<>();
+ map = new ConcurrentHashMap<>();
if (async) {
asyncCache.loadCache(new IgniteBiPredicate<Integer, Integer>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRabalancingDelayedPartitionMapExchangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRabalancingDelayedPartitionMapExchangeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRabalancingDelayedPartitionMapExchangeSelfTest.java
index f307b6a..96127aa 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRabalancingDelayedPartitionMapExchangeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRabalancingDelayedPartitionMapExchangeSelfTest.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.cache.distributed.rebalancing;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.ignite.IgniteException;
import org.apache.ignite.cache.CacheMode;
@@ -39,7 +40,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
/**
*
@@ -50,7 +50,7 @@ public class GridCacheRabalancingDelayedPartitionMapExchangeSelfTest extends Gri
/** Map of destination node ID to runnable with logic for real message sending.
* To apply real message sending use run method */
- private final ConcurrentHashMap8<UUID, Runnable> rs = new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<UUID, Runnable> rs = new ConcurrentHashMap<>();
/**
* Flag to redirect {@link GridDhtPartitionsFullMessage}s from real communication channel to {@link #rs} map.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoadAllAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoadAllAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoadAllAbstractTest.java
index 2e9753f..6b4f976 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoadAllAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoadAllAbstractTest.java
@@ -34,7 +34,7 @@ import org.apache.ignite.cache.affinity.Affinity;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.processors.cache.IgniteCacheAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Test for {@link Cache#loadAll(Set, boolean, CompletionListener)}.
@@ -44,7 +44,7 @@ public abstract class IgniteCacheLoadAllAbstractTest extends IgniteCacheAbstract
private volatile boolean writeThrough = true;
/** */
- private static ConcurrentHashMap8<Object, Object> storeMap;
+ private static ConcurrentHashMap<Object, Object> storeMap;
/** {@inheritDoc} */
@SuppressWarnings("unchecked")
@@ -64,7 +64,7 @@ public abstract class IgniteCacheLoadAllAbstractTest extends IgniteCacheAbstract
@Override protected void beforeTest() throws Exception {
super.beforeTest();
- storeMap = new ConcurrentHashMap8<>();
+ storeMap = new ConcurrentHashMap<>();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
index dd6b268..5cdac5b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.cache.Cache;
import javax.cache.configuration.Factory;
@@ -37,7 +38,6 @@ import org.apache.ignite.IgniteCache;
import org.apache.ignite.internal.processors.cache.IgniteCacheAbstractTest;
import org.apache.ignite.lifecycle.LifecycleAware;
import org.apache.ignite.resources.IgniteInstanceResource;
-import org.jsr166.ConcurrentHashMap8;
/**
*
@@ -50,7 +50,7 @@ public abstract class IgniteCacheLoaderWriterAbstractTest extends IgniteCacheAbs
private static AtomicInteger writerCallCnt = new AtomicInteger();
/** */
- private static ConcurrentHashMap8<Object, Object> storeMap = new ConcurrentHashMap8<>();
+ private static ConcurrentHashMap<Object, Object> storeMap = new ConcurrentHashMap<>();
/** */
private static Set<Object> unaccessableKeys = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryCounterAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryCounterAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryCounterAbstractTest.java
index 3b1c361..c68dafe 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryCounterAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryCounterAbstractTest.java
@@ -52,7 +52,7 @@ import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -547,7 +547,7 @@ public abstract class CacheContinuousQueryCounterAbstractTest extends GridCommon
ContinuousQuery<Integer, Integer> qry = new ContinuousQuery<>();
- final Map<Integer, T2<Integer, Long>> map = new ConcurrentHashMap8<>();
+ final Map<Integer, T2<Integer, Long>> map = new ConcurrentHashMap<>();
final CountDownLatch latch = new CountDownLatch(10);
qry.setLocalListener(new CacheEntryUpdatedListener<Integer, Integer>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index 119ed7e..8287a9b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -28,6 +28,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import javax.cache.Cache;
@@ -72,7 +73,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -851,7 +851,7 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
}
}));
- final Map<Integer, Integer> map = new ConcurrentHashMap8<>();
+ final Map<Integer, Integer> map = new ConcurrentHashMap<>();
final CountDownLatch latch = new CountDownLatch(2);
qry.setLocalListener(new CacheEntryUpdatedListener<Integer, Integer>() {
@@ -907,7 +907,7 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
ContinuousQuery<Integer, Integer> qry = new ContinuousQuery<>();
- final Map<Integer, Integer> map = new ConcurrentHashMap8<>();
+ final Map<Integer, Integer> map = new ConcurrentHashMap<>();
final CountDownLatch latch = new CountDownLatch(10);
qry.setLocalListener(new CacheEntryUpdatedListener<Integer, Integer>() {
@@ -943,7 +943,7 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
ContinuousQuery<Object, Object> qry = new ContinuousQuery<>();
- final Map<Object, Object> map = new ConcurrentHashMap8<>();
+ final Map<Object, Object> map = new ConcurrentHashMap<>();
final CountDownLatch latch = new CountDownLatch(2);
qry.setLocalListener(new CacheEntryUpdatedListener<Object, Object>() {
@@ -1106,7 +1106,7 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
IgniteCache<Object, Object> cache = grid(0).cache(DEFAULT_CACHE_NAME).
withExpiryPolicy(new CreatedExpiryPolicy(new Duration(MILLISECONDS, 1000)));
- final Map<Object, Object> map = new ConcurrentHashMap8<>();
+ final Map<Object, Object> map = new ConcurrentHashMap<>();
final CountDownLatch latch = new CountDownLatch(2);
ContinuousQuery<Object, Object> qry = new ContinuousQuery<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryMultiNodesFilteringTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryMultiNodesFilteringTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryMultiNodesFilteringTest.java
index c9bcdf1..b316042 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryMultiNodesFilteringTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryMultiNodesFilteringTest.java
@@ -54,7 +54,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
@@ -74,7 +73,7 @@ public class GridCacheContinuousQueryMultiNodesFilteringTest extends GridCommonA
public static final int KEYS = 2_000;
/** Cache entry operations' counts. */
- private static final ConcurrentMap<String, AtomicInteger> opCounts = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<String, AtomicInteger> opCounts = new ConcurrentHashMap<>();
/** Client. */
private static boolean client = false;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
index 85d269f..72d2e0f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
@@ -31,6 +31,7 @@ import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.TimeUnit;
@@ -72,7 +73,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import org.jsr166.ConcurrentLinkedHashMap;
import static org.apache.ignite.internal.pagemem.PageIdUtils.effectivePageId;
@@ -2114,7 +2114,7 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
private void doTestRandomPutRemoveMultithreaded(boolean canGetRow) throws Exception {
final TestTree tree = createTestTree(canGetRow);
- final Map<Long,Long> map = new ConcurrentHashMap8<>();
+ final Map<Long,Long> map = new ConcurrentHashMap<>();
final int loops = reuseList == null ? 20_000 : 60_000;
@@ -2338,16 +2338,16 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
*/
protected static class TestTree extends BPlusTree<Long, Long> {
/** */
- private static ConcurrentMap<Object, Long> beforeReadLock = new ConcurrentHashMap8<>();
+ private static ConcurrentMap<Object, Long> beforeReadLock = new ConcurrentHashMap<>();
/** */
- private static ConcurrentMap<Object, Long> beforeWriteLock = new ConcurrentHashMap8<>();
+ private static ConcurrentMap<Object, Long> beforeWriteLock = new ConcurrentHashMap<>();
/** */
- private static ConcurrentMap<Object, Map<Long, Long>> readLocks = new ConcurrentHashMap8<>();
+ private static ConcurrentMap<Object, Map<Long, Long>> readLocks = new ConcurrentHashMap<>();
/** */
- private static ConcurrentMap<Object, Map<Long, Long>> writeLocks = new ConcurrentHashMap8<>();
+ private static ConcurrentMap<Object, Map<Long, Long>> writeLocks = new ConcurrentHashMap<>();
/**
* @param reuseList Reuse list.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/processors/service/DummyService.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/DummyService.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/DummyService.java
index 0a33922..b4dea45 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/DummyService.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/DummyService.java
@@ -17,12 +17,12 @@
package org.apache.ignite.internal.processors.service;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.services.Service;
import org.apache.ignite.services.ServiceContext;
-import org.jsr166.ConcurrentHashMap8;
/**
* Dummy service.
@@ -32,19 +32,19 @@ public class DummyService implements Service {
private static final long serialVersionUID = 0L;
/** Inited counter per service. */
- public static final ConcurrentMap<String, AtomicInteger> started = new ConcurrentHashMap8<>();
+ public static final ConcurrentMap<String, AtomicInteger> started = new ConcurrentHashMap<>();
/** Started counter per service. */
- public static final ConcurrentMap<String, AtomicInteger> inited = new ConcurrentHashMap8<>();
+ public static final ConcurrentMap<String, AtomicInteger> inited = new ConcurrentHashMap<>();
/** Latches per service. */
- private static final ConcurrentMap<String, CountDownLatch> exeLatches = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<String, CountDownLatch> exeLatches = new ConcurrentHashMap<>();
/** Cancel latches per service. */
- private static final ConcurrentMap<String, CountDownLatch> cancelLatches = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<String, CountDownLatch> cancelLatches = new ConcurrentHashMap<>();
/** Cancelled flags per service. */
- private static final ConcurrentMap<String, AtomicInteger> cancelled = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<String, AtomicInteger> cancelled = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public void cancel(ServiceContext ctx) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapMapAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapMapAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapMapAbstractSelfTest.java
index ac6e531..a772cde 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapMapAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapMapAbstractSelfTest.java
@@ -32,7 +32,7 @@ import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Tests off-heap map.
@@ -421,7 +421,7 @@ public abstract class GridOffHeapMapAbstractSelfTest extends GridCommonAbstractT
int threads = 5;
- final Map<String, String> m = new ConcurrentHashMap8<>(max);
+ final Map<String, String> m = new ConcurrentHashMap<>(max);
multithreaded(new Callable() {
@Override public Object call() throws Exception {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapAbstractSelfTest.java
index c40c10f..3b68d24 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapAbstractSelfTest.java
@@ -33,7 +33,6 @@ import org.apache.ignite.internal.util.lang.GridCloseableIterator;
import org.apache.ignite.internal.util.lang.GridTuple;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
/**
* Tests off-heap map.
@@ -509,7 +508,7 @@ public abstract class GridOffHeapPartitionedMapAbstractSelfTest extends GridComm
final int max = 1024;
- final ConcurrentMap<String, String> m = new ConcurrentHashMap8<>(max * parts);
+ final ConcurrentMap<String, String> m = new ConcurrentHashMap<>(max * parts);
final AtomicInteger part = new AtomicInteger();
@@ -739,7 +738,7 @@ public abstract class GridOffHeapPartitionedMapAbstractSelfTest extends GridComm
int threads = 5;
- final Map<String, String> m = new ConcurrentHashMap8<>(max);
+ final Map<String, String> m = new ConcurrentHashMap<>(max);
multithreaded(new Callable() {
@Override public Object call() throws Exception {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
index ccb9584..86432fc 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/util/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.util.offheap;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.ignite.cache.affinity.AffinityFunction;
@@ -28,7 +29,6 @@ import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.util.typedef.T3;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
/**
* Performance test for partitioned offheap hash map.
@@ -285,7 +285,7 @@ public abstract class GridOffHeapPartitionedMapPerformanceAbstractTest extends G
* @throws Exception If failed.
*/
private void checkPutsConcurrentMap(int threadCnt, long duration) throws Exception {
- final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap8<>();
+ final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap<>();
final AtomicLong opCnt = new AtomicLong();
final AtomicLong totalOpCnt = new AtomicLong();
@@ -340,7 +340,7 @@ public abstract class GridOffHeapPartitionedMapPerformanceAbstractTest extends G
* @throws Exception If failed.
*/
private void checkPutRemovesConcurrentMap(int threadCnt, long duration) throws Exception {
- final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap8<>();
+ final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap<>();
final AtomicLong opCnt = new AtomicLong();
final AtomicLong totalOpCnt = new AtomicLong();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java b/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java
deleted file mode 100644
index e9b3dd1..0000000
--- a/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.jvmtest;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Random;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.util.lang.IgnitePair;
-import org.apache.ignite.internal.util.typedef.X;
-import org.apache.ignite.testframework.GridTestUtils;
-import org.jsr166.ConcurrentHashMap8;
-
-/**
- *
- */
-public class ConcurrentMapTest {
- /** */
- private static Random rnd = new Random();
-
- /**
- *
- */
- private ConcurrentMapTest() {
- // No-op.
- }
-
- /**
- * @param args Args.
- * @throws Exception If failed.
- */
- public static void main(String args[]) throws Exception {
- Thread.sleep(5000);
-
- Collection<IgnitePair<Integer>> ress = new LinkedList<>();
-
- for (int lvl = 16; lvl <= 16384; lvl *= 2) {
- System.gc();
-
- X.println("Testing map with concurrency level: " + lvl);
-
- int cap = 256 / lvl < 16 ? 16 * lvl : 256;
-
- int writes = testMap(100000, new ConcurrentHashMap8<String, Integer>(cap, 0.75f, lvl));
-
- ress.add(new IgnitePair<>(lvl, writes));
- }
-
- X.println("Test summary.");
-
- for (IgnitePair<Integer> p : ress)
- X.println("Performance [lvl=" + p.get1() + ", writes=" + p.get2() + ']');
-
- testPut();
-
- testOpsSpeed();
-
- testCreationTime();
- }
-
- /**
- * @param keyRange Key range.
- * @param map Map.
- * @return Writes count.
- * @throws Exception If failed.
- */
- public static int testMap(final int keyRange, final ConcurrentMap<String, Integer> map) throws Exception {
- final AtomicBoolean done = new AtomicBoolean();
-
- final AtomicInteger writes = new AtomicInteger();
-
- IgniteInternalFuture fut1 = GridTestUtils.runMultiThreadedAsync(
- new Runnable() {
- @Override public void run() {
- while (!done.get()) {
- map.put(rnd.nextInt(keyRange) + "very.long.string.for.key", 1);
-
- writes.incrementAndGet();
- }
- }
- },
- 40,
- "thread"
- );
-
- long duration = 20 * 1000;
-
- for (long time = 0; time < duration;) {
- Thread.sleep(5000);
-
- time += 5000;
-
- X.println(">>> Stats [duration=" + time + ", writes=" + writes.get() + ']');
- }
-
- done.set(true);
-
- fut1.get();
-
- X.println(">>> Test finished [duration=" + duration + ", writes=" + writes.get() + ']');
-
- return writes.get();
- }
-
- /**
- * @throws Exception If failed.
- */
- public static void testPut() throws Exception {
- Map<Integer, Integer> map = new ConcurrentHashMap8<>();
-
- map.put(0, 0);
- map.put(0, 0);
- }
-
- /**
- * @throws Exception If failed.
- */
- public static void testOpsSpeed() throws Exception {
- for (int i = 0; i < 4; i++) {
- X.println("New map ops time: " + runOps(new ConcurrentHashMap8<Integer, Integer>(), 1000000, 100));
-
- X.println("Jdk6 map ops time: " + runOps(new ConcurrentHashMap<Integer, Integer>(), 1000000, 100));
- }
- }
-
- /**
- * @param iterCnt Iterations count.
- * @param threadCnt Threads count.
- * @return Time taken.
- */
- private static long runOps(final Map<Integer,Integer> map, final int iterCnt, int threadCnt) throws Exception {
- long start = System.currentTimeMillis();
-
- GridTestUtils.runMultiThreaded(new Callable<Object>() {
- @Override public Object call() throws Exception {
- ThreadLocalRandom rnd = ThreadLocalRandom.current();
-
- for (int i = 0; i < iterCnt; i++) {
- // Put random.
- map.put(rnd.nextInt(0, 10000), 0);
-
- // Read random.
- map.get(rnd.nextInt(0, 10000));
-
- // Remove random.
- map.remove(rnd.nextInt(0, 10000));
- }
-
- return null;
- }
- }, threadCnt, "thread");
-
- return System.currentTimeMillis() - start;
- }
-
- /**
- * @throws Exception If failed.
- */
- @SuppressWarnings("ResultOfObjectAllocationIgnored")
- public static void testCreationTime() throws Exception {
- for (int i = 0; i < 5; i++) {
- long now = System.currentTimeMillis();
-
- for (int j = 0; j < 1000000; j++)
- new ConcurrentHashMap8<Integer, Integer>();
-
- X.println("New map creation time: " + (System.currentTimeMillis() - now));
-
- now = System.currentTimeMillis();
-
- for (int j = 0; j < 1000000; j++)
- new ConcurrentHashMap<Integer, Integer>();
-
- X.println("Jdk6 map creation time: " + (System.currentTimeMillis() - now));
- }
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/lang/utils/GridConcurrentHashMapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/lang/utils/GridConcurrentHashMapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/lang/utils/GridConcurrentHashMapSelfTest.java
deleted file mode 100644
index dbf453d..0000000
--- a/modules/core/src/test/java/org/apache/ignite/lang/utils/GridConcurrentHashMapSelfTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.lang.utils;
-
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ThreadLocalRandom;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
-
-/**
- * Tests for {@link org.jsr166.ConcurrentHashMap8}.
- */
-public class GridConcurrentHashMapSelfTest extends GridCommonAbstractTest {
- /** */
- private Map<Integer,Integer> map;
-
- /**
- * @throws Exception If failed.
- */
- public void testPut() throws Exception {
- map = new ConcurrentHashMap8<>();
-
- map.put(0, 0);
- map.put(0, 0);
- }
-
- /**
- * @throws Exception If failed.
- */
- public void testOpsSpeed() throws Exception {
- for (int i = 0; i < 4; i++) {
- map = new ConcurrentHashMap8<>();
-
- info("New map ops time: " + runOps(1000000, 100));
-
- map = new ConcurrentHashMap<>();
-
- info("Jdk6 map ops time: " + runOps(1000000, 100));
- }
- }
-
- /**
- * @param iterCnt Iterations count.
- * @param threadCnt Threads count.
- * @return Time taken.
- */
- private long runOps(final int iterCnt, int threadCnt) throws Exception {
- long start = System.currentTimeMillis();
-
- multithreaded(new Callable<Object>() {
- @Override public Object call() throws Exception {
- ThreadLocalRandom rnd = ThreadLocalRandom.current();
-
- for (int i = 0; i < iterCnt; i++) {
- // Put random.
- map.put(rnd.nextInt(0, 10000), 0);
-
- // Read random.
- map.get(rnd.nextInt(0, 10000));
-
- // Remove random.
- map.remove(rnd.nextInt(0, 10000));
- }
-
- return null;
- }
- }, threadCnt);
-
- return System.currentTimeMillis() - start;
- }
-
- /**
- * @throws Exception If failed.
- */
- @SuppressWarnings("ResultOfObjectAllocationIgnored")
- public void testCreationTime() throws Exception {
- for (int i = 0; i < 5; i++) {
- long now = System.currentTimeMillis();
-
- for (int j = 0; j < 1000000; j++)
- new ConcurrentHashMap8<Integer, Integer>();
-
- info("New map creation time: " + (System.currentTimeMillis() - now));
-
- now = System.currentTimeMillis();
-
- for (int j = 0; j < 1000000; j++)
- new ConcurrentHashMap<Integer, Integer>();
-
- info("Jdk6 map creation time: " + (System.currentTimeMillis() - now));
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark.java b/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark.java
index ef3fc9f..58e1aa1 100644
--- a/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark.java
+++ b/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark.java
@@ -43,7 +43,7 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.loadtests.util.GridCumulativeAverage;
import org.apache.ignite.testframework.GridLoadTestUtils;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.internal.managers.communication.GridIoPolicy.PUBLIC_POOL;
@@ -78,7 +78,7 @@ public class GridIoManagerBenchmark {
private static final LongAdder msgCntr = new LongAdder();
/** */
- private static final Map<IgniteUuid, CountDownLatch> latches = new ConcurrentHashMap8<>();
+ private static final Map<IgniteUuid, CountDownLatch> latches = new ConcurrentHashMap<>();
/** */
private static final byte[][] arrs;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark0.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark0.java b/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark0.java
index 8adb2b3..063c790 100644
--- a/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark0.java
+++ b/modules/core/src/test/java/org/apache/ignite/loadtests/communication/GridIoManagerBenchmark0.java
@@ -22,6 +22,7 @@ import java.util.Timer;
import java.util.TimerTask;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -46,7 +47,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
import static org.apache.ignite.internal.managers.communication.GridIoPolicy.PUBLIC_POOL;
@@ -219,7 +219,7 @@ public class GridIoManagerBenchmark0 extends GridCommonAbstractTest {
final Integer topic = 1;
- final Map<IgniteUuid, CountDownLatch> map = new ConcurrentHashMap8<>();
+ final Map<IgniteUuid, CountDownLatch> map = new ConcurrentHashMap<>();
rcv.addMessageListener(
topic,
@@ -319,7 +319,7 @@ public class GridIoManagerBenchmark0 extends GridCommonAbstractTest {
final String topic = "test-topic";
- final Map<IgniteUuid, CountDownLatch> latches = new ConcurrentHashMap8<>();
+ final Map<IgniteUuid, CountDownLatch> latches = new ConcurrentHashMap<>();
rcv.addMessageListener(
topic,
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/loadtests/dsi/GridDsiPerfJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/loadtests/dsi/GridDsiPerfJob.java b/modules/core/src/test/java/org/apache/ignite/loadtests/dsi/GridDsiPerfJob.java
index 6dd3df5..8c8fc74 100644
--- a/modules/core/src/test/java/org/apache/ignite/loadtests/dsi/GridDsiPerfJob.java
+++ b/modules/core/src/test/java/org/apache/ignite/loadtests/dsi/GridDsiPerfJob.java
@@ -19,6 +19,7 @@ package org.apache.ignite.loadtests.dsi;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicLong;
import javax.cache.Cache;
@@ -40,7 +41,6 @@ import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.transactions.Transaction;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
*
@@ -48,7 +48,7 @@ import org.jsr166.ConcurrentHashMap8;
public class GridDsiPerfJob extends ComputeJobAdapter {
/** */
private static final ConcurrentMap<Thread, ConcurrentMap<String, T3<Long, Long, Long>>> timers =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** */
@AffinityKeyMapped
@@ -146,7 +146,7 @@ public class GridDsiPerfJob extends ComputeJobAdapter {
if (m == null) {
ConcurrentMap<String, T3<Long, Long, Long>> old = timers.putIfAbsent(Thread.currentThread(),
- m = new ConcurrentHashMap8<>());
+ m = new ConcurrentHashMap<>());
if (old != null)
m = old;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/loadtests/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/loadtests/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/loadtests/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
index a243c29..60accfa 100644
--- a/modules/core/src/test/java/org/apache/ignite/loadtests/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/loadtests/offheap/GridOffHeapPartitionedMapPerformanceAbstractTest.java
@@ -30,7 +30,7 @@ import org.apache.ignite.internal.util.offheap.GridOffHeapPartitionedMap;
import org.apache.ignite.internal.util.typedef.T3;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Performance test for partitioned offheap hash map.
@@ -287,7 +287,7 @@ public abstract class GridOffHeapPartitionedMapPerformanceAbstractTest extends G
* @throws Exception If failed.
*/
private void checkPutsConcurrentMap(int threadCnt, long duration) throws Exception {
- final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap8<>();
+ final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap<>();
final AtomicLong opCnt = new AtomicLong();
final AtomicLong totalOpCnt = new AtomicLong();
@@ -342,7 +342,7 @@ public abstract class GridOffHeapPartitionedMapPerformanceAbstractTest extends G
* @throws Exception If failed.
*/
private void checkPutRemovesConcurrentMap(int threadCnt, long duration) throws Exception {
- final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap8<>();
+ final Map<GridByteArrayWrapper, byte[]> map = new ConcurrentHashMap<>();
final AtomicLong opCnt = new AtomicLong();
final AtomicLong totalOpCnt = new AtomicLong();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/test/java/org/apache/ignite/marshaller/MarshallerContextTestImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/marshaller/MarshallerContextTestImpl.java b/modules/core/src/test/java/org/apache/ignite/marshaller/MarshallerContextTestImpl.java
index 2d6383c..ae057ee 100644
--- a/modules/core/src/test/java/org/apache/ignite/marshaller/MarshallerContextTestImpl.java
+++ b/modules/core/src/test/java/org/apache/ignite/marshaller/MarshallerContextTestImpl.java
@@ -19,19 +19,19 @@ package org.apache.ignite.marshaller;
import java.util.Collection;
import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.MarshallerContextImpl;
import org.apache.ignite.plugin.PluginProvider;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Test marshaller context.
*/
public class MarshallerContextTestImpl extends MarshallerContextImpl {
/** */
- private static final ConcurrentMap<Integer, String> map = new ConcurrentHashMap8<>();
+ private static final ConcurrentMap<Integer, String> map = new ConcurrentHashMap<>();
/** */
private final Collection<String> excluded;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIO.java
----------------------------------------------------------------------
diff --git a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIO.java b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIO.java
index 62e1db3..3cb4886 100644
--- a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIO.java
+++ b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIO.java
@@ -29,13 +29,13 @@ import java.nio.file.OpenOption;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicReferenceArray;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.NotNull;
-import org.jsr166.ConcurrentHashMap8;
/**
* Limited capabilities Direct IO, which enables file write and read using aligned buffers and O_DIRECT mode.
@@ -62,7 +62,7 @@ public class AlignedBuffersDirectFileIO implements FileIO {
private ThreadLocal<ByteBuffer> tlbOnePageAligned;
/** Managed aligned buffers. Used to check if buffer is applicable for direct IO our data should be copied. */
- private ConcurrentHashMap8<Long, Thread> managedAlignedBuffers;
+ private ConcurrentHashMap<Long, Thread> managedAlignedBuffers;
/** File descriptor. */
private int fd = -1;
@@ -95,7 +95,7 @@ public class AlignedBuffersDirectFileIO implements FileIO {
File file,
OpenOption[] modes,
ThreadLocal<ByteBuffer> tlbOnePageAligned,
- ConcurrentHashMap8<Long, Thread> managedAlignedBuffers,
+ ConcurrentHashMap<Long, Thread> managedAlignedBuffers,
IgniteLogger log)
throws IOException {
this.log = log;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIOFactory.java
----------------------------------------------------------------------
diff --git a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIOFactory.java b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIOFactory.java
index b9d11cd..8a28e9e 100644
--- a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIOFactory.java
+++ b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/AlignedBuffersDirectFileIOFactory.java
@@ -22,13 +22,13 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.file.OpenOption;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.NotNull;
-import org.jsr166.ConcurrentHashMap8;
import static java.nio.file.StandardOpenOption.CREATE;
import static java.nio.file.StandardOpenOption.READ;
@@ -65,7 +65,7 @@ public class AlignedBuffersDirectFileIOFactory implements FileIOFactory {
* Managed aligned buffers. This collection is used to free buffers, an for checking if buffer is known to be
* already aligned.
*/
- private final ConcurrentHashMap8<Long, Thread> managedAlignedBuffers = new ConcurrentHashMap8<>();
+ private final ConcurrentHashMap<Long, Thread> managedAlignedBuffers = new ConcurrentHashMap<>();
/**
* Creates direct native IO factory.
@@ -171,7 +171,7 @@ public class AlignedBuffersDirectFileIOFactory implements FileIOFactory {
*
* @return map address->thread.
*/
- ConcurrentHashMap8<Long, Thread> managedAlignedBuffers() {
+ ConcurrentHashMap<Long, Thread> managedAlignedBuffers() {
return managedAlignedBuffers;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/LinuxNativeIoPluginProvider.java
----------------------------------------------------------------------
diff --git a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/LinuxNativeIoPluginProvider.java b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/LinuxNativeIoPluginProvider.java
index 918ff5c..085d9f2 100644
--- a/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/LinuxNativeIoPluginProvider.java
+++ b/modules/direct-io/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/LinuxNativeIoPluginProvider.java
@@ -23,6 +23,7 @@ import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cluster.ClusterNode;
@@ -41,14 +42,13 @@ import org.apache.ignite.plugin.PluginContext;
import org.apache.ignite.plugin.PluginProvider;
import org.apache.ignite.plugin.PluginValidationException;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
/**
* Plugin provider for setting up {@link IgniteNativeIoLib}.
*/
public class LinuxNativeIoPluginProvider implements PluginProvider {
/** Managed buffers map from address to thread requested buffer. */
- @Nullable private ConcurrentHashMap8<Long, Thread> managedBuffers;
+ @Nullable private ConcurrentHashMap<Long, Thread> managedBuffers;
/** Logger. */
private IgniteLogger log;
@@ -95,7 +95,7 @@ public class LinuxNativeIoPluginProvider implements PluginProvider {
* Free direct thread local buffer allocated for Direct IO user's threads.
*/
private void freeDirectBuffers() {
- ConcurrentHashMap8<Long, Thread> buffers = managedBuffers;
+ ConcurrentHashMap<Long, Thread> buffers = managedBuffers;
if (buffers == null)
return;
@@ -159,7 +159,7 @@ public class LinuxNativeIoPluginProvider implements PluginProvider {
* @return Managed aligned buffers and its associated threads. This collection is used to free buffers. May return
* {@code null}.
*/
- @Nullable private ConcurrentHashMap8<Long, Thread> setupDirect(IgniteEx ignite) {
+ @Nullable private ConcurrentHashMap<Long, Thread> setupDirect(IgniteEx ignite) {
GridCacheSharedContext<Object, Object> cacheCtx = ignite.context().cache().context();
IgnitePageStoreManager ignitePageStoreMgr = cacheCtx.pageStore();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/counter/HadoopCountersImpl.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/counter/HadoopCountersImpl.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/counter/HadoopCountersImpl.java
index f3b5463..5bfa534 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/counter/HadoopCountersImpl.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/counter/HadoopCountersImpl.java
@@ -23,12 +23,12 @@ import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.lang.reflect.Constructor;
import java.util.Collection;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.util.lang.GridTuple3;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jsr166.ConcurrentHashMap8;
/**
* Default in-memory counters store.
@@ -38,7 +38,7 @@ public class HadoopCountersImpl implements HadoopCounters, Externalizable {
private static final long serialVersionUID = 0L;
/** */
- private final ConcurrentMap<CounterKey, HadoopCounter> cntrsMap = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<CounterKey, HadoopCounter> cntrsMap = new ConcurrentHashMap<>();
/**
* Default constructor. Creates new instance without counters.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/fs/HadoopLazyConcurrentMap.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/fs/HadoopLazyConcurrentMap.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/fs/HadoopLazyConcurrentMap.java
index ea1f664..34cdc31 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/fs/HadoopLazyConcurrentMap.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/fs/HadoopLazyConcurrentMap.java
@@ -17,10 +17,10 @@
package org.apache.ignite.internal.processors.hadoop.impl.fs;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.jsr166.ConcurrentHashMap8;
import java.io.Closeable;
import java.io.IOException;
@@ -37,7 +37,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
*/
public class HadoopLazyConcurrentMap<K, V extends Closeable> {
/** The map storing the actual values. */
- private final ConcurrentMap<K, ValueWrapper> map = new ConcurrentHashMap8<>();
+ private final ConcurrentMap<K, ValueWrapper> map = new ConcurrentHashMap<>();
/** The factory passed in by the client. Will be used for lazy value creation. */
private final ValueFactory<K, V> factory;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsIpcIo.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsIpcIo.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsIpcIo.java
index a2ec977..163524d 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsIpcIo.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsIpcIo.java
@@ -38,7 +38,7 @@ import org.apache.ignite.internal.util.ipc.shmem.IpcOutOfSystemResourcesExceptio
import org.apache.ignite.internal.util.ipc.shmem.IpcSharedMemoryServerEndpoint;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
+import java.util.concurrent.ConcurrentHashMap;
import java.io.BufferedOutputStream;
import java.io.EOFException;
@@ -63,7 +63,7 @@ public class HadoopIgfsIpcIo implements HadoopIgfsIo {
/** Request futures map. */
private ConcurrentMap<Long, HadoopIgfsFuture> reqMap =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Request ID counter. */
private AtomicLong reqIdCnt = new AtomicLong();
@@ -98,7 +98,7 @@ public class HadoopIgfsIpcIo implements HadoopIgfsIo {
/** Cached connections. */
private static final ConcurrentMap<String, HadoopIgfsIpcIo> ipcCache =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Striped lock that prevents multiple instance creation in {@link #get(Log, String)}. */
private static final GridStripedLock initLock = new GridStripedLock(32);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsOutProc.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsOutProc.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsOutProc.java
index 2780966..32c06fa 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsOutProc.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/HadoopIgfsOutProc.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.hadoop.impl.igfs;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.logging.Log;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.igfs.IgfsBlockLocation;
@@ -41,7 +42,6 @@ import org.apache.ignite.internal.util.future.GridFinishedFuture;
import org.apache.ignite.internal.util.lang.GridClosureException;
import org.apache.ignite.lang.IgniteClosure;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import java.io.IOException;
import java.util.Collection;
@@ -54,7 +54,6 @@ import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.INFO;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.LIST_FILES;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.LIST_PATHS;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.MAKE_DIRECTORIES;
-import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.MODE_RESOLVER;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.OPEN_APPEND;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.OPEN_CREATE;
import static org.apache.ignite.internal.igfs.common.IgfsIpcCommand.OPEN_READ;
@@ -123,7 +122,7 @@ public class HadoopIgfsOutProc implements HadoopIgfsEx, HadoopIgfsIpcIoListener
private final HadoopIgfsIpcIo io;
/** Event listeners. */
- private final Map<Long, HadoopIgfsStreamEventListener> lsnrs = new ConcurrentHashMap8<>();
+ private final Map<Long, HadoopIgfsStreamEventListener> lsnrs = new ConcurrentHashMap<>();
/**
* Constructor for TCP endpoint.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/v2/HadoopV2Job.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/v2/HadoopV2Job.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/v2/HadoopV2Job.java
index 28b4d6b..13a893f 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/v2/HadoopV2Job.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/impl/v2/HadoopV2Job.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.hadoop.impl.v2;
import java.security.PrivilegedExceptionAction;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
@@ -57,7 +58,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -116,7 +116,7 @@ public class HadoopV2Job extends HadoopJobEx {
/** */
private final ConcurrentMap<T2<HadoopTaskType, Integer>, GridFutureAdapter<HadoopTaskContext>> ctxs =
- new ConcurrentHashMap8<>();
+ new ConcurrentHashMap<>();
/** Pooling task context class and thus class loading environment. */
private final Queue<Class<? extends HadoopTaskContext>> taskCtxClsPool = new ConcurrentLinkedQueue<>();
[3/5] ignite git commit: IGNITE-7513 Get rid of
org.jsr166.ConcurrentHashMap8
Posted by av...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b4ece5fb/modules/core/src/main/java/org/jsr166/ConcurrentHashMap8.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/jsr166/ConcurrentHashMap8.java b/modules/core/src/main/java/org/jsr166/ConcurrentHashMap8.java
deleted file mode 100644
index f3c8dec..0000000
--- a/modules/core/src/main/java/org/jsr166/ConcurrentHashMap8.java
+++ /dev/null
@@ -1,3810 +0,0 @@
-/*
- * Written by Doug Lea with assistance from members of JCP JSR-166
- * Expert Group and released to the public domain, as explained at
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-/*
- * The latest version of the file was copied from the following CVS repository:
- * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/
- *
- * Corresponding commit version in CVS repository is unknown (lost on our side).
- * On the other hand we can't simply synch the latest version from CVS here, because Ignite uses functionality that
- * is no longer supported.
- */
-
-package org.jsr166;
-
-import java.io.Serializable;
-import java.util.AbstractMap;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.ConcurrentModificationException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.atomic.LongAdder;
-import java.util.concurrent.locks.AbstractQueuedSynchronizer;
-
-/**
- * A hash table supporting full concurrency of retrievals and
- * high expected concurrency for updates. This class obeys the
- * same functional specification as {@link java.util.Hashtable}, and
- * includes versions of methods corresponding to each method of
- * {@code Hashtable}. However, even though all operations are
- * thread-safe, retrieval operations do <em>not</em> entail locking,
- * and there is <em>not</em> any support for locking the entire table
- * in a way that prevents all access. This class is fully
- * interoperable with {@code Hashtable} in programs that rely on its
- * thread safety but not on its synchronization details.
- *
- * <p>Retrieval operations (including {@code get}) generally do not
- * block, so may overlap with update operations (including {@code put}
- * and {@code remove}). Retrievals reflect the results of the most
- * recently <em>completed</em> update operations holding upon their
- * onset. (More formally, an update operation for a given key bears a
- * <em>happens-before</em> relation with any (non-null) retrieval for
- * that key reporting the updated value.) For aggregate operations
- * such as {@code putAll} and {@code clear}, concurrent retrievals may
- * reflect insertion or removal of only some entries. Similarly,
- * Iterators and Enumerations return elements reflecting the state of
- * the hash table at some point at or since the creation of the
- * iterator/enumeration. They do <em>not</em> throw {@link
- * ConcurrentModificationException}. However, iterators are designed
- * to be used by only one thread at a time. Bear in mind that the
- * results of aggregate status methods including {@code size}, {@code
- * isEmpty}, and {@code containsValue} are typically useful only when
- * a map is not undergoing concurrent updates in other threads.
- * Otherwise the results of these methods reflect transient states
- * that may be adequate for monitoring or estimation purposes, but not
- * for program control.
- *
- * <p>The table is dynamically expanded when there are too many
- * collisions (i.e., keys that have distinct hash codes but fall into
- * the same slot modulo the table size), with the expected average
- * effect of maintaining roughly two bins per mapping (corresponding
- * to a 0.75 load factor threshold for resizing). There may be much
- * variance around this average as mappings are added and removed, but
- * overall, this maintains a commonly accepted time/space tradeoff for
- * hash tables. However, resizing this or any other kind of hash
- * table may be a relatively slow operation. When possible, it is a
- * good idea to provide a size estimate as an optional {@code
- * initialCapacity} constructor argument. An additional optional
- * {@code loadFactor} constructor argument provides a further means of
- * customizing initial table capacity by specifying the table density
- * to be used in calculating the amount of space to allocate for the
- * given number of elements. Also, for compatibility with previous
- * versions of this class, constructors may optionally specify an
- * expected {@code concurrencyLevel} as an additional hint for
- * internal sizing. Note that using many keys with exactly the same
- * {@code hashCode()} is a sure way to slow down performance of any
- * hash table.
- *
- * <p>A {@link Set} projection of a ConcurrentHashMapV8 may be created
- * (using {@link #newKeySet()} or {@link #newKeySet(int)}), or viewed
- * (using {@link #keySet(Object)} when only keys are of interest, and the
- * mapped values are (perhaps transiently) not used or all take the
- * same mapping value.
- *
- * <p>A ConcurrentHashMapV8 can be used as scalable frequency map (a
- * form of histogram or multiset) by using {@link LongAdder} values
- * and initializing via {@link #computeIfAbsent}. For example, to add
- * a count to a {@code ConcurrentHashMapV8<String,LongAdder8> freqs}, you
- * can use {@code freqs.computeIfAbsent(k -> new
- * LongAdder8()).increment();}
- *
- * <p>This class and its views and iterators implement all of the
- * <em>optional</em> methods of the {@link Map} and {@link Iterator}
- * interfaces.
- *
- * <p>Like {@link Hashtable} but unlike {@link HashMap}, this class
- * does <em>not</em> allow {@code null} to be used as a key or value.
- *
- * <ul>
- * <li> forEach: Perform a given action on each element.
- * A variant form applies a given transformation on each element
- * before performing the action.</li>
- *
- * <li> search: Return the first available non-null result of
- * applying a given function on each element; skipping further
- * search when a result is found.</li>
- *
- * <li> reduce: Accumulate each element. The supplied reduction
- * function cannot rely on ordering (more formally, it should be
- * both associative and commutative). There are five variants:
- *
- * <ul>
- *
- * <li> Plain reductions. (There is not a form of this method for
- * (key, value) function arguments since there is no corresponding
- * return type.)</li>
- *
- * <li> Mapped reductions that accumulate the results of a given
- * function applied to each element.</li>
- *
- * <li> Reductions to scalar doubles, longs, and ints, using a
- * given basis value.</li>
- *
- * </li>
- * </ul>
- * </ul>
- *
- * <p>The concurrency properties of bulk operations follow
- * from those of ConcurrentHashMapV8: Any non-null result returned
- * from {@code get(key)} and related access methods bears a
- * happens-before relation with the associated insertion or
- * update. The result of any bulk operation reflects the
- * composition of these per-element relations (but is not
- * necessarily atomic with respect to the map as a whole unless it
- * is somehow known to be quiescent). Conversely, because keys
- * and values in the map are never null, null serves as a reliable
- * atomic indicator of the current lack of any result. To
- * maintain this property, null serves as an implicit basis for
- * all non-scalar reduction operations. For the double, long, and
- * int versions, the basis should be one that, when combined with
- * any other value, returns that other value (more formally, it
- * should be the identity element for the reduction). Most common
- * reductions have these properties; for example, computing a sum
- * with basis 0 or a minimum with basis MAX_VALUE.
- *
- * <p>Search and transformation functions provided as arguments
- * should similarly return null to indicate the lack of any result
- * (in which case it is not used). In the case of mapped
- * reductions, this also enables transformations to serve as
- * filters, returning null (or, in the case of primitive
- * specializations, the identity basis) if the element should not
- * be combined. You can create compound transformations and
- * filterings by composing them yourself under this "null means
- * there is nothing there now" rule before using them in search or
- * reduce operations.
- *
- * <p>Methods accepting and/or returning Entry arguments maintain
- * key-value associations. They may be useful for example when
- * finding the key for the greatest value. Note that "plain" Entry
- * arguments can be supplied using {@code new
- * AbstractMap.SimpleEntry(k,v)}.
- *
- * <p>Bulk operations may complete abruptly, throwing an
- * exception encountered in the application of a supplied
- * function. Bear in mind when handling such exceptions that other
- * concurrently executing functions could also have thrown
- * exceptions, or would have done so if the first exception had
- * not occurred.
- *
- * <p>Parallel speedups for bulk operations compared to sequential
- * processing are common but not guaranteed. Operations involving
- * brief functions on small maps may execute more slowly than
- * sequential loops if the underlying work to parallelize the
- * computation is more expensive than the computation itself.
- * Similarly, parallelization may not lead to much actual parallelism
- * if all processors are busy performing unrelated tasks.
- *
- * <p>All arguments to all task methods must be non-null.
- *
- * <p><em>jsr166e note: During transition, this class
- * uses nested functional interfaces with different names but the
- * same forms as those expected for JDK8.</em>
- *
- * @since 1.5
- * @author Doug Lea
- * @param <K> the type of keys maintained by this map
- * @param <V> the type of mapped values
- */
-@SuppressWarnings("ALL")
-public class ConcurrentHashMap8<K, V>
- implements ConcurrentMap<K, V>, Serializable {
- private static final long serialVersionUID = 7249069246763182397L;
-
- /**
- * A partitionable iterator. A Spliterator can be traversed
- * directly, but can also be partitioned (before traversal) by
- * creating another Spliterator that covers a non-overlapping
- * portion of the elements, and so may be amenable to parallel
- * execution.
- *
- * <p>This interface exports a subset of expected JDK8
- * functionality.
- *
- * <p>Sample usage: Here is one (of the several) ways to compute
- * the sum of the values held in a map using the ForkJoin
- * framework. As illustrated here, Spliterators are well suited to
- * designs in which a task repeatedly splits off half its work
- * into forked subtasks until small enough to process directly,
- * and then joins these subtasks. Variants of this style can also
- * be used in completion-based designs.
- *
- * <pre>
- * {@code ConcurrentHashMapV8<String, Long> m = ...
- * // split as if have 8 * parallelism, for load balance
- * int n = m.size();
- * int p = aForkJoinPool.getParallelism() * 8;
- * int split = (n < p)? n : p;
- * long sum = aForkJoinPool.invoke(new SumValues(m.valueSpliterator(), split, null));
- * // ...
- * static class SumValues extends RecursiveTask<Long> {
- * final Spliterator<Long> s;
- * final int split; // split while > 1
- * final SumValues nextJoin; // records forked subtasks to join
- * SumValues(Spliterator<Long> s, int depth, SumValues nextJoin) {
- * this.s = s; this.depth = depth; this.nextJoin = nextJoin;
- * }
- * public Long compute() {
- * long sum = 0;
- * SumValues subtasks = null; // fork subtasks
- * for (int s = split >>> 1; s > 0; s >>>= 1)
- * (subtasks = new SumValues(s.split(), s, subtasks)).fork();
- * while (s.hasNext()) // directly process remaining elements
- * sum += s.next();
- * for (SumValues t = subtasks; t != null; t = t.nextJoin)
- * sum += t.join(); // collect subtask results
- * return sum;
- * }
- * }
- * }</pre>
- */
- public static interface Spliterator<T> extends Iterator<T> {
- /**
- * Returns a Spliterator covering approximately half of the
- * elements, guaranteed not to overlap with those subsequently
- * returned by this Spliterator. After invoking this method,
- * the current Spliterator will <em>not</em> produce any of
- * the elements of the returned Spliterator, but the two
- * Spliterators together will produce all of the elements that
- * would have been produced by this Spliterator had this
- * method not been called. The exact number of elements
- * produced by the returned Spliterator is not guaranteed, and
- * may be zero (i.e., with {@code hasNext()} reporting {@code
- * false}) if this Spliterator cannot be further split.
- *
- * @return a Spliterator covering approximately half of the
- * elements
- * @throws IllegalStateException if this Spliterator has
- * already commenced traversing elements
- */
- Spliterator<T> split();
- }
-
-
- /*
- * Overview:
- *
- * The primary design goal of this hash table is to maintain
- * concurrent readability (typically method get(), but also
- * iterators and related methods) while minimizing update
- * contention. Secondary goals are to keep space consumption about
- * the same or better than java.util.HashMap, and to support high
- * initial insertion rates on an empty table by many threads.
- *
- * Each key-value mapping is held in a Node. Because Node fields
- * can contain special values, they are defined using plain Object
- * types. Similarly in turn, all internal methods that use them
- * work off Object types. And similarly, so do the internal
- * methods of auxiliary iterator and view classes. All public
- * generic typed methods relay in/out of these internal methods,
- * supplying null-checks and casts as needed. This also allows
- * many of the public methods to be factored into a smaller number
- * of internal methods (although sadly not so for the five
- * variants of put-related operations). The validation-based
- * approach explained below leads to a lot of code sprawl because
- * retry-control precludes factoring into smaller methods.
- *
- * The table is lazily initialized to a power-of-two size upon the
- * first insertion. Each bin in the table normally contains a
- * list of Nodes (most often, the list has only zero or one Node).
- * Table accesses require volatile/atomic reads, writes, and
- * CASes. Because there is no other way to arrange this without
- * adding further indirections, we use intrinsics
- * (sun.misc.Unsafe) operations. The lists of nodes within bins
- * are always accurately traversable under volatile reads, so long
- * as lookups check hash code and non-nullness of value before
- * checking key equality.
- *
- * We use the top two bits of Node hash fields for control
- * purposes -- they are available anyway because of addressing
- * constraints. As explained further below, these top bits are
- * used as follows:
- * 00 - Normal
- * 01 - Locked
- * 11 - Locked and may have a thread waiting for lock
- * 10 - Node is a forwarding node
- *
- * The lower 30 bits of each Node's hash field contain a
- * transformation of the key's hash code, except for forwarding
- * nodes, for which the lower bits are zero (and so always have
- * hash field == MOVED).
- *
- * Insertion (via put or its variants) of the first node in an
- * empty bin is performed by just CASing it to the bin. This is
- * by far the most common case for put operations under most
- * key/hash distributions. Other update operations (insert,
- * delete, and replace) require locks. We do not want to waste
- * the space required to associate a distinct lock object with
- * each bin, so instead use the first node of a bin list itself as
- * a lock. Blocking support for these locks relies on the builtin
- * "synchronized" monitors. However, we also need a tryLock
- * construction, so we overlay these by using bits of the Node
- * hash field for lock control (see above), and so normally use
- * builtin monitors only for blocking and signalling using
- * wait/notifyAll constructions. See Node.tryAwaitLock.
- *
- * Using the first node of a list as a lock does not by itself
- * suffice though: When a node is locked, any update must first
- * validate that it is still the first node after locking it, and
- * retry if not. Because new nodes are always appended to lists,
- * once a node is first in a bin, it remains first until deleted
- * or the bin becomes invalidated (upon resizing). However,
- * operations that only conditionally update may inspect nodes
- * until the point of update. This is a converse of sorts to the
- * lazy locking technique described by Herlihy & Shavit.
- *
- * The main disadvantage of per-bin locks is that other update
- * operations on other nodes in a bin list protected by the same
- * lock can stall, for example when user equals() or mapping
- * functions take a long time. However, statistically, under
- * random hash codes, this is not a common problem. Ideally, the
- * frequency of nodes in bins follows a Poisson distribution
- * (http://en.wikipedia.org/wiki/Poisson_distribution) with a
- * parameter of about 0.5 on average, given the resizing threshold
- * of 0.75, although with a large variance because of resizing
- * granularity. Ignoring variance, the expected occurrences of
- * list size k are (exp(-0.5) * pow(0.5, k) / factorial(k)). The
- * first values are:
- *
- * 0: 0.60653066
- * 1: 0.30326533
- * 2: 0.07581633
- * 3: 0.01263606
- * 4: 0.00157952
- * 5: 0.00015795
- * 6: 0.00001316
- * 7: 0.00000094
- * 8: 0.00000006
- * more: less than 1 in ten million
- *
- * Lock contention probability for two threads accessing distinct
- * elements is roughly 1 / (8 * #elements) under random hashes.
- *
- * Actual hash code distributions encountered in practice
- * sometimes deviate significantly from uniform randomness. This
- * includes the case when N > (1<<30), so some keys MUST collide.
- * Similarly for dumb or hostile usages in which multiple keys are
- * designed to have identical hash codes. Also, although we guard
- * against the worst effects of this (see method spread), sets of
- * hashes may differ only in bits that do not impact their bin
- * index for a given power-of-two mask. So we use a secondary
- * strategy that applies when the number of nodes in a bin exceeds
- * a threshold, and at least one of the keys implements
- * Comparable. These TreeBins use a balanced tree to hold nodes
- * (a specialized form of red-black trees), bounding search time
- * to O(log N). Each search step in a TreeBin is around twice as
- * slow as in a regular list, but given that N cannot exceed
- * (1<<64) (before running out of addresses) this bounds search
- * steps, lock hold times, etc, to reasonable constants (roughly
- * 100 nodes inspected per operation worst case) so long as keys
- * are Comparable (which is very common -- String, Long, etc).
- * TreeBin nodes (TreeNodes) also maintain the same "next"
- * traversal pointers as regular nodes, so can be traversed in
- * iterators in the same way.
- *
- * The table is resized when occupancy exceeds a percentage
- * threshold (nominally, 0.75, but see below). Only a single
- * thread performs the resize (using field "sizeCtl", to arrange
- * exclusion), but the table otherwise remains usable for reads
- * and updates. Resizing proceeds by transferring bins, one by
- * one, from the table to the next table. Because we are using
- * power-of-two expansion, the elements from each bin must either
- * stay at same index, or move with a power of two offset. We
- * eliminate unnecessary node creation by catching cases where old
- * nodes can be reused because their next fields won't change. On
- * average, only about one-sixth of them need cloning when a table
- * doubles. The nodes they replace will be garbage collectable as
- * soon as they are no longer referenced by any reader thread that
- * may be in the midst of concurrently traversing table. Upon
- * transfer, the old table bin contains only a special forwarding
- * node (with hash field "MOVED") that contains the next table as
- * its key. On encountering a forwarding node, access and update
- * operations restart, using the new table.
- *
- * Each bin transfer requires its bin lock. However, unlike other
- * cases, a transfer can skip a bin if it fails to acquire its
- * lock, and revisit it later (unless it is a TreeBin). Method
- * rebuild maintains a buffer of TRANSFER_BUFFER_SIZE bins that
- * have been skipped because of failure to acquire a lock, and
- * blocks only if none are available (i.e., only very rarely).
- * The transfer operation must also ensure that all accessible
- * bins in both the old and new table are usable by any traversal.
- * When there are no lock acquisition failures, this is arranged
- * simply by proceeding from the last bin (table.length - 1) up
- * towards the first. Upon seeing a forwarding node, traversals
- * (see class Iter) arrange to move to the new table
- * without revisiting nodes. However, when any node is skipped
- * during a transfer, all earlier table bins may have become
- * visible, so are initialized with a reverse-forwarding node back
- * to the old table until the new ones are established. (This
- * sometimes requires transiently locking a forwarding node, which
- * is possible under the above encoding.) These more expensive
- * mechanics trigger only when necessary.
- *
- * The traversal scheme also applies to partial traversals of
- * ranges of bins (via an alternate Traverser constructor)
- * to support partitioned aggregate operations. Also, read-only
- * operations give up if ever forwarded to a null table, which
- * provides support for shutdown-style clearing, which is also not
- * currently implemented.
- *
- * Lazy table initialization minimizes footprint until first use,
- * and also avoids resizings when the first operation is from a
- * putAll, constructor with map argument, or deserialization.
- * These cases attempt to override the initial capacity settings,
- * but harmlessly fail to take effect in cases of races.
- *
- * The element count is maintained using a LongAdder8, which avoids
- * contention on updates but can encounter cache thrashing if read
- * too frequently during concurrent access. To avoid reading so
- * often, resizing is attempted either when a bin lock is
- * contended, or upon adding to a bin already holding two or more
- * nodes (checked before adding in the xIfAbsent methods, after
- * adding in others). Under uniform hash distributions, the
- * probability of this occurring at threshold is around 13%,
- * meaning that only about 1 in 8 puts check threshold (and after
- * resizing, many fewer do so). But this approximation has high
- * variance for small table sizes, so we check on any collision
- * for sizes <= 64. The bulk putAll operation further reduces
- * contention by only committing count updates upon these size
- * checks.
- *
- * Maintaining API and serialization compatibility with previous
- * versions of this class introduces several oddities. Mainly: We
- * leave untouched but unused constructor arguments refering to
- * concurrencyLevel. We accept a loadFactor constructor argument,
- * but apply it only to initial table capacity (which is the only
- * time that we can guarantee to honor it.) We also declare an
- * unused "Segment" class that is instantiated in minimal form
- * only when serializing.
- */
-
- /* ---------------- Constants -------------- */
-
- /**
- * The largest possible table capacity. This value must be
- * exactly 1<<30 to stay within Java array allocation and indexing
- * bounds for power of two table sizes, and is further required
- * because the top two bits of 32bit hash fields are used for
- * control purposes.
- */
- private static final int MAXIMUM_CAPACITY = 1 << 30;
-
- /**
- * The default initial table capacity. Must be a power of 2
- * (i.e., at least 1) and at most MAXIMUM_CAPACITY.
- */
- private static final int DEFAULT_CAPACITY = 16;
-
- /**
- * The largest possible (non-power of two) array size.
- * Needed by toArray and related methods.
- */
- static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
-
- /**
- * The default concurrency level for this table. Unused but
- * defined for compatibility with previous versions of this class.
- */
- private static final int DEFAULT_CONCURRENCY_LEVEL = 16;
-
- /**
- * The load factor for this table. Overrides of this value in
- * constructors affect only the initial table capacity. The
- * actual floating point value isn't normally used -- it is
- * simpler to use expressions such as {@code n - (n >>> 2)} for
- * the associated resizing threshold.
- */
- private static final float LOAD_FACTOR = 0.75f;
-
- /**
- * The buffer size for skipped bins during transfers. The
- * value is arbitrary but should be large enough to avoid
- * most locking stalls during resizes.
- */
- private static final int TRANSFER_BUFFER_SIZE = 32;
-
- /**
- * The bin count threshold for using a tree rather than list for a
- * bin. The value reflects the approximate break-even point for
- * using tree-based operations.
- */
- private static final int TREE_THRESHOLD = 8;
-
- /*
- * Encodings for special uses of Node hash fields. See above for
- * explanation.
- */
- static final int MOVED = 0x80000000; // hash field for forwarding nodes
- static final int LOCKED = 0x40000000; // set/tested only as a bit
- static final int WAITING = 0xc0000000; // both bits set/tested together
- static final int HASH_BITS = 0x3fffffff; // usable bits of normal node hash
-
- /* ---------------- Fields -------------- */
-
- /**
- * The array of bins. Lazily initialized upon first insertion.
- * Size is always a power of two. Accessed directly by iterators.
- */
- transient volatile Node[] table;
-
- /**
- * The counter maintaining number of elements.
- */
- private transient final LongAdder counter;
-
- /**
- * Table initialization and resizing control. When negative, the
- * table is being initialized or resized. Otherwise, when table is
- * null, holds the initial table size to use upon creation, or 0
- * for default. After initialization, holds the next element count
- * value upon which to resize the table.
- */
- private transient volatile int sizeCtl;
-
- // views
- private transient KeySetView<K,V> keySet;
- private transient ValuesView<K,V> values;
- private transient EntrySetView<K,V> entrySet;
-
- /** For serialization compatibility. Null unless serialized; see below */
- private Segment<K,V>[] segments;
-
- /* ---------------- Table element access -------------- */
-
- /*
- * Volatile access methods are used for table elements as well as
- * elements of in-progress next table while resizing. Uses are
- * null checked by callers, and implicitly bounds-checked, relying
- * on the invariants that tab arrays have non-zero size, and all
- * indices are masked with (tab.length - 1) which is never
- * negative and always less than length. Note that, to be correct
- * wrt arbitrary concurrency errors by users, bounds checks must
- * operate on local variables, which accounts for some odd-looking
- * inline assignments below.
- */
-
- static final Node tabAt(Node[] tab, int i) { // used by Iter
- return (Node)UNSAFE.getObjectVolatile(tab, ((long)i<<ASHIFT)+ABASE);
- }
-
- private static final boolean casTabAt(Node[] tab, int i, Node c, Node v) {
- return UNSAFE.compareAndSwapObject(tab, ((long)i<<ASHIFT)+ABASE, c, v);
- }
-
- private static final void setTabAt(Node[] tab, int i, Node v) {
- UNSAFE.putObjectVolatile(tab, ((long)i<<ASHIFT)+ABASE, v);
- }
-
- /* ---------------- Nodes -------------- */
-
- /**
- * Key-value entry. Note that this is never exported out as a
- * user-visible Map.Entry (see MapEntry below). Nodes with a hash
- * field of MOVED are special, and do not contain user keys or
- * values. Otherwise, keys are never null, and null val fields
- * indicate that a node is in the process of being deleted or
- * created. For purposes of read-only access, a key may be read
- * before a val, but can only be used after checking val to be
- * non-null.
- */
- static class Node {
- volatile int hash;
- final Object key;
- volatile Object val;
- volatile Node next;
-
- Node(int hash, Object key, Object val, Node next) {
- this.hash = hash;
- this.key = key;
- this.val = val;
- this.next = next;
- }
-
- /** CompareAndSet the hash field */
- final boolean casHash(int cmp, int val) {
- return UNSAFE.compareAndSwapInt(this, hashOffset, cmp, val);
- }
-
- /** The number of spins before blocking for a lock */
- static final int MAX_SPINS =
- Runtime.getRuntime().availableProcessors() > 1 ? 64 : 1;
-
- /**
- * Spins a while if LOCKED bit set and this node is the first
- * of its bin, and then sets WAITING bits on hash field and
- * blocks (once) if they are still set. It is OK for this
- * method to return even if lock is not available upon exit,
- * which enables these simple single-wait mechanics.
- *
- * The corresponding signalling operation is performed within
- * callers: Upon detecting that WAITING has been set when
- * unlocking lock (via a failed CAS from non-waiting LOCKED
- * state), unlockers acquire the sync lock and perform a
- * notifyAll.
- *
- * The initial sanity check on tab and bounds is not currently
- * necessary in the only usages of this method, but enables
- * use in other future contexts.
- */
- final void tryAwaitLock(Node[] tab, int i) {
- if (tab != null && i >= 0 && i < tab.length) { // sanity check
- int r = ThreadLocalRandom.current().nextInt(); // randomize spins
- int spins = MAX_SPINS, h;
- while (tabAt(tab, i) == this && ((h = hash) & LOCKED) != 0) {
- if (spins >= 0) {
- r ^= r << 1; r ^= r >>> 3; r ^= r << 10; // xorshift
- if (r >= 0 && --spins == 0)
- Thread.yield(); // yield before block
- }
- else if (casHash(h, h | WAITING)) {
- synchronized (this) {
- if (tabAt(tab, i) == this &&
- (hash & WAITING) == WAITING) {
- try {
- wait();
- } catch (InterruptedException ie) {
- try {
- Thread.currentThread().interrupt();
- } catch (SecurityException ignore) {
- }
- }
- }
- else
- notifyAll(); // possibly won race vs signaller
- }
- break;
- }
- }
- }
- }
-
- // Unsafe mechanics for casHash
- private static final sun.misc.Unsafe UNSAFE;
- private static final long hashOffset;
-
- static {
- try {
- UNSAFE = getUnsafe();
- Class<?> k = Node.class;
- hashOffset = UNSAFE.objectFieldOffset
- (k.getDeclaredField("hash"));
- } catch (Exception e) {
- throw new Error(e);
- }
- }
- }
-
- /* ---------------- TreeBins -------------- */
-
- /**
- * Nodes for use in TreeBins
- */
- static final class TreeNode extends Node {
- TreeNode parent; // red-black tree links
- TreeNode left;
- TreeNode right;
- TreeNode prev; // needed to unlink next upon deletion
- boolean red;
-
- TreeNode(int hash, Object key, Object val, Node next, TreeNode parent) {
- super(hash, key, val, next);
- this.parent = parent;
- }
- }
-
- /**
- * A specialized form of red-black tree for use in bins
- * whose size exceeds a threshold.
- *
- * TreeBins use a special form of comparison for search and
- * related operations (which is the main reason we cannot use
- * existing collections such as TreeMaps). TreeBins contain
- * Comparable elements, but may contain others, as well as
- * elements that are Comparable but not necessarily Comparable<T>
- * for the same T, so we cannot invoke compareTo among them. To
- * handle this, the tree is ordered primarily by hash value, then
- * by getClass().getName() order, and then by Comparator order
- * among elements of the same class. On lookup at a node, if
- * elements are not comparable or compare as 0, both left and
- * right children may need to be searched in the case of tied hash
- * values. (This corresponds to the full list search that would be
- * necessary if all elements were non-Comparable and had tied
- * hashes.) The red-black balancing code is updated from
- * pre-jdk-collections
- * (http://gee.cs.oswego.edu/dl/classes/collections/RBCell.java)
- * based in turn on Cormen, Leiserson, and Rivest "Introduction to
- * Algorithms" (CLR).
- *
- * TreeBins also maintain a separate locking discipline than
- * regular bins. Because they are forwarded via special MOVED
- * nodes at bin heads (which can never change once established),
- * we cannot use those nodes as locks. Instead, TreeBin
- * extends AbstractQueuedSynchronizer to support a simple form of
- * read-write lock. For update operations and table validation,
- * the exclusive form of lock behaves in the same way as bin-head
- * locks. However, lookups use shared read-lock mechanics to allow
- * multiple readers in the absence of writers. Additionally,
- * these lookups do not ever block: While the lock is not
- * available, they proceed along the slow traversal path (via
- * next-pointers) until the lock becomes available or the list is
- * exhausted, whichever comes first. (These cases are not fast,
- * but maximize aggregate expected throughput.) The AQS mechanics
- * for doing this are straightforward. The lock state is held as
- * AQS getState(). Read counts are negative; the write count (1)
- * is positive. There are no signalling preferences among readers
- * and writers. Since we don't need to export full Lock API, we
- * just override the minimal AQS methods and use them directly.
- */
- static final class TreeBin extends AbstractQueuedSynchronizer {
- private static final long serialVersionUID = 2249069246763182397L;
- transient TreeNode root; // root of tree
- transient TreeNode first; // head of next-pointer list
-
- /* AQS overrides */
- public final boolean isHeldExclusively() { return getState() > 0; }
- public final boolean tryAcquire(int ignore) {
- if (compareAndSetState(0, 1)) {
- setExclusiveOwnerThread(Thread.currentThread());
- return true;
- }
- return false;
- }
- public final boolean tryRelease(int ignore) {
- setExclusiveOwnerThread(null);
- setState(0);
- return true;
- }
- public final int tryAcquireShared(int ignore) {
- for (int c;;) {
- if ((c = getState()) > 0)
- return -1;
- if (compareAndSetState(c, c -1))
- return 1;
- }
- }
- public final boolean tryReleaseShared(int ignore) {
- int c;
- do {} while (!compareAndSetState(c = getState(), c + 1));
- return c == -1;
- }
-
- /** From CLR */
- private void rotateLeft(TreeNode p) {
- if (p != null) {
- TreeNode r = p.right, pp, rl;
- if ((rl = p.right = r.left) != null)
- rl.parent = p;
- if ((pp = r.parent = p.parent) == null)
- root = r;
- else if (pp.left == p)
- pp.left = r;
- else
- pp.right = r;
- r.left = p;
- p.parent = r;
- }
- }
-
- /** From CLR */
- private void rotateRight(TreeNode p) {
- if (p != null) {
- TreeNode l = p.left, pp, lr;
- if ((lr = p.left = l.right) != null)
- lr.parent = p;
- if ((pp = l.parent = p.parent) == null)
- root = l;
- else if (pp.right == p)
- pp.right = l;
- else
- pp.left = l;
- l.right = p;
- p.parent = l;
- }
- }
-
- /**
- * Returns the TreeNode (or null if not found) for the given key
- * starting at given root.
- */
- @SuppressWarnings("unchecked") final TreeNode getTreeNode
- (int h, Object k, TreeNode p) {
- Class<?> c = k.getClass();
- while (p != null) {
- int dir, ph; Object pk; Class<?> pc;
- if ((ph = p.hash) == h) {
- if ((pk = p.key) == k || k.equals(pk))
- return p;
- if (c != (pc = pk.getClass()) ||
- !(k instanceof Comparable) ||
- (dir = ((Comparable)k).compareTo((Comparable)pk)) == 0) {
- dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName());
- TreeNode r = null, s = null, pl, pr;
- if (dir >= 0) {
- if ((pl = p.left) != null && h <= pl.hash)
- s = pl;
- }
- else if ((pr = p.right) != null && h >= pr.hash)
- s = pr;
- if (s != null && (r = getTreeNode(h, k, s)) != null)
- return r;
- }
- }
- else
- dir = (h < ph) ? -1 : 1;
- p = (dir > 0) ? p.right : p.left;
- }
- return null;
- }
-
- /**
- * Wrapper for getTreeNode used by CHM.get. Tries to obtain
- * read-lock to call getTreeNode, but during failure to get
- * lock, searches along next links.
- */
- final Object getValue(int h, Object k) {
- Node r = null;
- int c = getState(); // Must read lock state first
- for (Node e = first; e != null; e = e.next) {
- if (c <= 0 && compareAndSetState(c, c - 1)) {
- try {
- r = getTreeNode(h, k, root);
- } finally {
- releaseShared(0);
- }
- break;
- }
- else if ((e.hash & HASH_BITS) == h && k.equals(e.key)) {
- r = e;
- break;
- }
- else
- c = getState();
- }
- return r == null ? null : r.val;
- }
-
- /**
- * Finds or adds a node.
- * @return null if added
- */
- @SuppressWarnings("unchecked") final TreeNode putTreeNode
- (int h, Object k, Object v) {
- Class<?> c = k.getClass();
- TreeNode pp = root, p = null;
- int dir = 0;
- while (pp != null) { // find existing node or leaf to insert at
- int ph; Object pk; Class<?> pc;
- p = pp;
- if ((ph = p.hash) == h) {
- if ((pk = p.key) == k || k.equals(pk))
- return p;
- if (c != (pc = pk.getClass()) ||
- !(k instanceof Comparable) ||
- (dir = ((Comparable)k).compareTo((Comparable)pk)) == 0) {
- dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName());
- TreeNode r = null, s = null, pl, pr;
- if (dir >= 0) {
- if ((pl = p.left) != null && h <= pl.hash)
- s = pl;
- }
- else if ((pr = p.right) != null && h >= pr.hash)
- s = pr;
- if (s != null && (r = getTreeNode(h, k, s)) != null)
- return r;
- }
- }
- else
- dir = (h < ph) ? -1 : 1;
- pp = (dir > 0) ? p.right : p.left;
- }
-
- TreeNode f = first;
- TreeNode x = first = new TreeNode(h, k, v, f, p);
- if (p == null)
- root = x;
- else { // attach and rebalance; adapted from CLR
- TreeNode xp, xpp;
- if (f != null)
- f.prev = x;
- if (dir <= 0)
- p.left = x;
- else
- p.right = x;
- x.red = true;
- while (x != null && (xp = x.parent) != null && xp.red &&
- (xpp = xp.parent) != null) {
- TreeNode xppl = xpp.left;
- if (xp == xppl) {
- TreeNode y = xpp.right;
- if (y != null && y.red) {
- y.red = false;
- xp.red = false;
- xpp.red = true;
- x = xpp;
- }
- else {
- if (x == xp.right) {
- rotateLeft(x = xp);
- xpp = (xp = x.parent) == null ? null : xp.parent;
- }
- if (xp != null) {
- xp.red = false;
- if (xpp != null) {
- xpp.red = true;
- rotateRight(xpp);
- }
- }
- }
- }
- else {
- TreeNode y = xppl;
- if (y != null && y.red) {
- y.red = false;
- xp.red = false;
- xpp.red = true;
- x = xpp;
- }
- else {
- if (x == xp.left) {
- rotateRight(x = xp);
- xpp = (xp = x.parent) == null ? null : xp.parent;
- }
- if (xp != null) {
- xp.red = false;
- if (xpp != null) {
- xpp.red = true;
- rotateLeft(xpp);
- }
- }
- }
- }
- }
- TreeNode r = root;
- if (r != null && r.red)
- r.red = false;
- }
- return null;
- }
-
- /**
- * Removes the given node, that must be present before this
- * call. This is messier than typical red-black deletion code
- * because we cannot swap the contents of an interior node
- * with a leaf successor that is pinned by "next" pointers
- * that are accessible independently of lock. So instead we
- * swap the tree linkages.
- */
- final void deleteTreeNode(TreeNode p) {
- TreeNode next = (TreeNode)p.next; // unlink traversal pointers
- TreeNode pred = p.prev;
- if (pred == null)
- first = next;
- else
- pred.next = next;
- if (next != null)
- next.prev = pred;
- TreeNode replacement;
- TreeNode pl = p.left;
- TreeNode pr = p.right;
- if (pl != null && pr != null) {
- TreeNode s = pr, sl;
- while ((sl = s.left) != null) // find successor
- s = sl;
- boolean c = s.red; s.red = p.red; p.red = c; // swap colors
- TreeNode sr = s.right;
- TreeNode pp = p.parent;
- if (s == pr) { // p was s's direct parent
- p.parent = s;
- s.right = p;
- }
- else {
- TreeNode sp = s.parent;
- if ((p.parent = sp) != null) {
- if (s == sp.left)
- sp.left = p;
- else
- sp.right = p;
- }
- if ((s.right = pr) != null)
- pr.parent = s;
- }
- p.left = null;
- if ((p.right = sr) != null)
- sr.parent = p;
- if ((s.left = pl) != null)
- pl.parent = s;
- if ((s.parent = pp) == null)
- root = s;
- else if (p == pp.left)
- pp.left = s;
- else
- pp.right = s;
- replacement = sr;
- }
- else
- replacement = (pl != null) ? pl : pr;
- TreeNode pp = p.parent;
- if (replacement == null) {
- if (pp == null) {
- root = null;
- return;
- }
- replacement = p;
- }
- else {
- replacement.parent = pp;
- if (pp == null)
- root = replacement;
- else if (p == pp.left)
- pp.left = replacement;
- else
- pp.right = replacement;
- p.left = p.right = p.parent = null;
- }
- if (!p.red) { // rebalance, from CLR
- TreeNode x = replacement;
- while (x != null) {
- TreeNode xp, xpl;
- if (x.red || (xp = x.parent) == null) {
- x.red = false;
- break;
- }
- if (x == (xpl = xp.left)) {
- TreeNode sib = xp.right;
- if (sib != null && sib.red) {
- sib.red = false;
- xp.red = true;
- rotateLeft(xp);
- sib = (xp = x.parent) == null ? null : xp.right;
- }
- if (sib == null)
- x = xp;
- else {
- TreeNode sl = sib.left, sr = sib.right;
- if ((sr == null || !sr.red) &&
- (sl == null || !sl.red)) {
- sib.red = true;
- x = xp;
- }
- else {
- if (sr == null || !sr.red) {
- if (sl != null)
- sl.red = false;
- sib.red = true;
- rotateRight(sib);
- sib = (xp = x.parent) == null ? null : xp.right;
- }
- if (sib != null) {
- sib.red = (xp == null) ? false : xp.red;
- if ((sr = sib.right) != null)
- sr.red = false;
- }
- if (xp != null) {
- xp.red = false;
- rotateLeft(xp);
- }
- x = root;
- }
- }
- }
- else { // symmetric
- TreeNode sib = xpl;
- if (sib != null && sib.red) {
- sib.red = false;
- xp.red = true;
- rotateRight(xp);
- sib = (xp = x.parent) == null ? null : xp.left;
- }
- if (sib == null)
- x = xp;
- else {
- TreeNode sl = sib.left, sr = sib.right;
- if ((sl == null || !sl.red) &&
- (sr == null || !sr.red)) {
- sib.red = true;
- x = xp;
- }
- else {
- if (sl == null || !sl.red) {
- if (sr != null)
- sr.red = false;
- sib.red = true;
- rotateLeft(sib);
- sib = (xp = x.parent) == null ? null : xp.left;
- }
- if (sib != null) {
- sib.red = (xp == null) ? false : xp.red;
- if ((sl = sib.left) != null)
- sl.red = false;
- }
- if (xp != null) {
- xp.red = false;
- rotateRight(xp);
- }
- x = root;
- }
- }
- }
- }
- }
- if (p == replacement && (pp = p.parent) != null) {
- if (p == pp.left) // detach pointers
- pp.left = null;
- else if (p == pp.right)
- pp.right = null;
- p.parent = null;
- }
- }
- }
-
- /* ---------------- Collision reduction methods -------------- */
-
- /**
- * Spreads higher bits to lower, and also forces top 2 bits to 0.
- * Because the table uses power-of-two masking, sets of hashes
- * that vary only in bits above the current mask will always
- * collide. (Among known examples are sets of Float keys holding
- * consecutive whole numbers in small tables.) To counter this,
- * we apply a transform that spreads the impact of higher bits
- * downward. There is a tradeoff between speed, utility, and
- * quality of bit-spreading. Because many common sets of hashes
- * are already reasonably distributed across bits (so don't benefit
- * from spreading), and because we use trees to handle large sets
- * of collisions in bins, we don't need excessively high quality.
- */
- private static final int spread(int h) {
- h ^= (h >>> 18) ^ (h >>> 12);
- return (h ^ (h >>> 10)) & HASH_BITS;
- }
-
- /**
- * Replaces a list bin with a tree bin. Call only when locked.
- * Fails to replace if the given key is non-comparable or table
- * is, or needs, resizing.
- */
- private final void replaceWithTreeBin(Node[] tab, int index, Object key) {
- if ((key instanceof Comparable) &&
- (tab.length >= MAXIMUM_CAPACITY || counter.sum() < (long)sizeCtl)) {
- TreeBin t = new TreeBin();
- for (Node e = tabAt(tab, index); e != null; e = e.next)
- t.putTreeNode(e.hash & HASH_BITS, e.key, e.val);
- setTabAt(tab, index, new Node(MOVED, t, null, null));
- }
- }
-
- /* ---------------- Internal access and update methods -------------- */
-
- /** Implementation for get and containsKey */
- private final Object internalGet(Object k) {
- int h = spread(k.hashCode());
- retry: for (Node[] tab = table; tab != null;) {
- Node e, p; Object ek, ev; int eh; // locals to read fields once
- for (e = tabAt(tab, (tab.length - 1) & h); e != null; e = e.next) {
- if ((eh = e.hash) == MOVED) {
- if ((ek = e.key) instanceof TreeBin) // search TreeBin
- return ((TreeBin)ek).getValue(h, k);
- else { // restart with new table
- tab = (Node[])ek;
- continue retry;
- }
- }
- else if ((eh & HASH_BITS) == h && (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek)))
- return ev;
- }
- break;
- }
- return null;
- }
-
- /**
- * Implementation for the four public remove/replace methods:
- * Replaces node value with v, conditional upon match of cv if
- * non-null. If resulting value is null, delete.
- */
- private final Object internalReplace(Object k, Object v, Object cv) {
- int h = spread(k.hashCode());
- Object oldVal = null;
- for (Node[] tab = table;;) {
- Node f; int i, fh; Object fk;
- if (tab == null ||
- (f = tabAt(tab, i = (tab.length - 1) & h)) == null)
- break;
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- boolean validated = false;
- boolean deleted = false;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- validated = true;
- TreeNode p = t.getTreeNode(h, k, t.root);
- if (p != null) {
- Object pv = p.val;
- if (cv == null || cv == pv || cv.equals(pv)) {
- oldVal = pv;
- if ((p.val = v) == null) {
- deleted = true;
- t.deleteTreeNode(p);
- }
- }
- }
- }
- } finally {
- t.release(0);
- }
- if (validated) {
- if (deleted)
- counter.add(-1L);
- break;
- }
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & HASH_BITS) != h && f.next == null) // precheck
- break; // rules out possible existence
- else if ((fh & LOCKED) != 0) {
- checkForResize(); // try resizing if can't get lock
- f.tryAwaitLock(tab, i);
- }
- else if (f.casHash(fh, fh | LOCKED)) {
- boolean validated = false;
- boolean deleted = false;
- try {
- if (tabAt(tab, i) == f) {
- validated = true;
- for (Node e = f, pred = null;;) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- ((ev = e.val) != null) &&
- ((ek = e.key) == k || k.equals(ek))) {
- if (cv == null || cv == ev || cv.equals(ev)) {
- oldVal = ev;
- if ((e.val = v) == null) {
- deleted = true;
- Node en = e.next;
- if (pred != null)
- pred.next = en;
- else
- setTabAt(tab, i, en);
- }
- }
- break;
- }
- pred = e;
- if ((e = e.next) == null)
- break;
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (validated) {
- if (deleted)
- counter.add(-1L);
- break;
- }
- }
- }
- return oldVal;
- }
-
- /*
- * Internal versions of the six insertion methods, each a
- * little more complicated than the last. All have
- * the same basic structure as the first (internalPut):
- * 1. If table uninitialized, create
- * 2. If bin empty, try to CAS new node
- * 3. If bin stale, use new table
- * 4. if bin converted to TreeBin, validate and relay to TreeBin methods
- * 5. Lock and validate; if valid, scan and add or update
- *
- * The others interweave other checks and/or alternative actions:
- * * Plain put checks for and performs resize after insertion.
- * * putIfAbsent prescans for mapping without lock (and fails to add
- * if present), which also makes pre-emptive resize checks worthwhile.
- * * computeIfAbsent extends form used in putIfAbsent with additional
- * mechanics to deal with, calls, potential exceptions and null
- * returns from function call.
- * * compute uses the same function-call mechanics, but without
- * the prescans
- * * merge acts as putIfAbsent in the absent case, but invokes the
- * update function if present
- * * putAll attempts to pre-allocate enough table space
- * and more lazily performs count updates and checks.
- *
- * Someday when details settle down a bit more, it might be worth
- * some factoring to reduce sprawl.
- */
-
- /** Implementation for put */
- private final Object internalPut(Object k, Object v) {
- int h = spread(k.hashCode());
- int count = 0;
- for (Node[] tab = table;;) {
- int i; Node f; int fh; Object fk;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) {
- if (casTabAt(tab, i, null, new Node(h, k, v, null)))
- break; // no lock when adding to empty bin
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- Object oldVal = null;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- count = 2;
- TreeNode p = t.putTreeNode(h, k, v);
- if (p != null) {
- oldVal = p.val;
- p.val = v;
- }
- }
- } finally {
- t.release(0);
- }
- if (count != 0) {
- if (oldVal != null)
- return oldVal;
- break;
- }
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & LOCKED) != 0) {
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (f.casHash(fh, fh | LOCKED)) {
- Object oldVal = null;
- try { // needed in case equals() throws
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- oldVal = ev;
- e.val = v;
- break;
- }
- Node last = e;
- if ((e = e.next) == null) {
- last.next = new Node(h, k, v, null);
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- break;
- }
- }
- }
- } finally { // unlock and signal if needed
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (oldVal != null)
- return oldVal;
- if (tab.length <= 64)
- count = 2;
- break;
- }
- }
- }
- counter.add(1L);
- if (count > 1)
- checkForResize();
- return null;
- }
-
- /** Implementation for putIfAbsent */
- private final Object internalPutIfAbsent(Object k, Object v) {
- int h = spread(k.hashCode());
- int count = 0;
- for (Node[] tab = table;;) {
- int i; Node f; int fh; Object fk, fv;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) {
- if (casTabAt(tab, i, null, new Node(h, k, v, null)))
- break;
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- Object oldVal = null;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- count = 2;
- TreeNode p = t.putTreeNode(h, k, v);
- if (p != null)
- oldVal = p.val;
- }
- } finally {
- t.release(0);
- }
- if (count != 0) {
- if (oldVal != null)
- return oldVal;
- break;
- }
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & HASH_BITS) == h && (fv = f.val) != null &&
- ((fk = f.key) == k || k.equals(fk)))
- return fv;
- else {
- Node g = f.next;
- if (g != null) { // at least 2 nodes -- search and maybe resize
- for (Node e = g;;) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h && (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek)))
- return ev;
- if ((e = e.next) == null) {
- checkForResize();
- break;
- }
- }
- }
- if (((fh = f.hash) & LOCKED) != 0) {
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) {
- Object oldVal = null;
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- oldVal = ev;
- break;
- }
- Node last = e;
- if ((e = e.next) == null) {
- last.next = new Node(h, k, v, null);
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- break;
- }
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (oldVal != null)
- return oldVal;
- if (tab.length <= 64)
- count = 2;
- break;
- }
- }
- }
- }
- counter.add(1L);
- if (count > 1)
- checkForResize();
- return null;
- }
-
- /** Implementation for computeIfAbsent */
- private final Object internalComputeIfAbsent(K k,
- Fun<? super K, ?> mf) {
- int h = spread(k.hashCode());
- Object val = null;
- int count = 0;
- for (Node[] tab = table;;) {
- Node f; int i, fh; Object fk, fv;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) {
- Node node = new Node(fh = h | LOCKED, k, null, null);
- if (casTabAt(tab, i, null, node)) {
- count = 1;
- try {
- if ((val = mf.apply(k)) != null)
- node.val = val;
- } finally {
- if (val == null)
- setTabAt(tab, i, null);
- if (!node.casHash(fh, h)) {
- node.hash = h;
- synchronized (node) { node.notifyAll(); };
- }
- }
- }
- if (count != 0)
- break;
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- boolean added = false;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- TreeNode p = t.getTreeNode(h, k, t.root);
- if (p != null)
- val = p.val;
- else if ((val = mf.apply(k)) != null) {
- added = true;
- count = 2;
- t.putTreeNode(h, k, val);
- }
- }
- } finally {
- t.release(0);
- }
- if (count != 0) {
- if (!added)
- return val;
- break;
- }
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & HASH_BITS) == h && (fv = f.val) != null &&
- ((fk = f.key) == k || k.equals(fk)))
- return fv;
- else {
- Node g = f.next;
- if (g != null) {
- for (Node e = g;;) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h && (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek)))
- return ev;
- if ((e = e.next) == null) {
- checkForResize();
- break;
- }
- }
- }
- if (((fh = f.hash) & LOCKED) != 0) {
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) {
- boolean added = false;
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- val = ev;
- break;
- }
- Node last = e;
- if ((e = e.next) == null) {
- if ((val = mf.apply(k)) != null) {
- added = true;
- last.next = new Node(h, k, val, null);
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- }
- break;
- }
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (!added)
- return val;
- if (tab.length <= 64)
- count = 2;
- break;
- }
- }
- }
- }
- if (val != null) {
- counter.add(1L);
- if (count > 1)
- checkForResize();
- }
- return val;
- }
-
- /** Implementation for compute */
- @SuppressWarnings("unchecked") private final Object internalCompute
- (K k, boolean onlyIfPresent, BiFun<? super K, ? super V, ? extends V> mf) {
- int h = spread(k.hashCode());
- Object val = null;
- int delta = 0;
- int count = 0;
- for (Node[] tab = table;;) {
- Node f; int i, fh; Object fk;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) {
- if (onlyIfPresent)
- break;
- Node node = new Node(fh = h | LOCKED, k, null, null);
- if (casTabAt(tab, i, null, node)) {
- try {
- count = 1;
- if ((val = mf.apply(k, null)) != null) {
- node.val = val;
- delta = 1;
- }
- } finally {
- if (delta == 0)
- setTabAt(tab, i, null);
- if (!node.casHash(fh, h)) {
- node.hash = h;
- synchronized (node) { node.notifyAll(); };
- }
- }
- }
- if (count != 0)
- break;
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- TreeNode p = t.getTreeNode(h, k, t.root);
- Object pv = (p == null) ? null : p.val;
- if ((val = mf.apply(k, (V)pv)) != null) {
- if (p != null)
- p.val = val;
- else {
- count = 2;
- delta = 1;
- t.putTreeNode(h, k, val);
- }
- }
- else if (p != null) {
- delta = -1;
- t.deleteTreeNode(p);
- }
- }
- } finally {
- t.release(0);
- }
- if (count != 0)
- break;
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & LOCKED) != 0) {
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (f.casHash(fh, fh | LOCKED)) {
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f, pred = null;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- val = mf.apply(k, (V)ev);
- if (val != null)
- e.val = val;
- else {
- delta = -1;
- Node en = e.next;
- if (pred != null)
- pred.next = en;
- else
- setTabAt(tab, i, en);
- }
- break;
- }
- pred = e;
- if ((e = e.next) == null) {
- if (!onlyIfPresent && (val = mf.apply(k, null)) != null) {
- pred.next = new Node(h, k, val, null);
- delta = 1;
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- }
- break;
- }
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (tab.length <= 64)
- count = 2;
- break;
- }
- }
- }
- if (delta != 0) {
- counter.add((long)delta);
- if (count > 1)
- checkForResize();
- }
- return val;
- }
-
- /** Implementation for merge */
- @SuppressWarnings("unchecked") private final Object internalMerge
- (K k, V v, BiFun<? super V, ? super V, ? extends V> mf) {
- int h = spread(k.hashCode());
- Object val = null;
- int delta = 0;
- int count = 0;
- for (Node[] tab = table;;) {
- int i; Node f; int fh; Object fk, fv;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) {
- if (casTabAt(tab, i, null, new Node(h, k, v, null))) {
- delta = 1;
- val = v;
- break;
- }
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- TreeNode p = t.getTreeNode(h, k, t.root);
- val = (p == null) ? v : mf.apply((V)p.val, v);
- if (val != null) {
- if (p != null)
- p.val = val;
- else {
- count = 2;
- delta = 1;
- t.putTreeNode(h, k, val);
- }
- }
- else if (p != null) {
- delta = -1;
- t.deleteTreeNode(p);
- }
- }
- } finally {
- t.release(0);
- }
- if (count != 0)
- break;
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & LOCKED) != 0) {
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (f.casHash(fh, fh | LOCKED)) {
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f, pred = null;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- val = mf.apply(v, (V)ev);
- if (val != null)
- e.val = val;
- else {
- delta = -1;
- Node en = e.next;
- if (pred != null)
- pred.next = en;
- else
- setTabAt(tab, i, en);
- }
- break;
- }
- pred = e;
- if ((e = e.next) == null) {
- val = v;
- pred.next = new Node(h, k, val, null);
- delta = 1;
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- break;
- }
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (tab.length <= 64)
- count = 2;
- break;
- }
- }
- }
- if (delta != 0) {
- counter.add((long)delta);
- if (count > 1)
- checkForResize();
- }
- return val;
- }
-
- /** Implementation for putAll */
- private final void internalPutAll(Map<?, ?> m) {
- tryPresize(m.size());
- long delta = 0L; // number of uncommitted additions
- boolean npe = false; // to throw exception on exit for nulls
- try { // to clean up counts on other exceptions
- for (Map.Entry<?, ?> entry : m.entrySet()) {
- Object k, v;
- if (entry == null || (k = entry.getKey()) == null ||
- (v = entry.getValue()) == null) {
- npe = true;
- break;
- }
- int h = spread(k.hashCode());
- for (Node[] tab = table;;) {
- int i; Node f; int fh; Object fk;
- if (tab == null)
- tab = initTable();
- else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null){
- if (casTabAt(tab, i, null, new Node(h, k, v, null))) {
- ++delta;
- break;
- }
- }
- else if ((fh = f.hash) == MOVED) {
- if ((fk = f.key) instanceof TreeBin) {
- TreeBin t = (TreeBin)fk;
- boolean validated = false;
- t.acquire(0);
- try {
- if (tabAt(tab, i) == f) {
- validated = true;
- TreeNode p = t.getTreeNode(h, k, t.root);
- if (p != null)
- p.val = v;
- else {
- t.putTreeNode(h, k, v);
- ++delta;
- }
- }
- } finally {
- t.release(0);
- }
- if (validated)
- break;
- }
- else
- tab = (Node[])fk;
- }
- else if ((fh & LOCKED) != 0) {
- counter.add(delta);
- delta = 0L;
- checkForResize();
- f.tryAwaitLock(tab, i);
- }
- else if (f.casHash(fh, fh | LOCKED)) {
- int count = 0;
- try {
- if (tabAt(tab, i) == f) {
- count = 1;
- for (Node e = f;; ++count) {
- Object ek, ev;
- if ((e.hash & HASH_BITS) == h &&
- (ev = e.val) != null &&
- ((ek = e.key) == k || k.equals(ek))) {
- e.val = v;
- break;
- }
- Node last = e;
- if ((e = e.next) == null) {
- ++delta;
- last.next = new Node(h, k, v, null);
- if (count >= TREE_THRESHOLD)
- replaceWithTreeBin(tab, i, k);
- break;
- }
- }
- }
- } finally {
- if (!f.casHash(fh | LOCKED, fh)) {
- f.hash = fh;
- synchronized (f) { f.notifyAll(); };
- }
- }
- if (count != 0) {
- if (count > 1) {
- counter.add(delta);
- delta = 0L;
- checkForResize();
- }
- break;
- }
- }
- }
- }
- } finally {
- if (delta != 0)
- counter.add(delta);
- }
- if (npe)
- throw new NullPointerException();
- }
-
- /* ---------------- Table Initialization and Resizing -------------- */
-
- /**
- * Returns a power of two table size for the given desired capacity.
- */
- private static final int tableSizeFor(int c) {
- if (c <= 0)
- return 1;
-
- int n = Integer.highestOneBit(c - 1) << 1;
-
- return (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n;
- }
-
- /**
- * Initializes table, using the size recorded in sizeCtl.
- */
- private final Node[] initTable() {
- Node[] tab; int sc;
- while ((tab = table) == null) {
- if ((sc = sizeCtl) < 0)
- Thread.yield(); // lost initialization race; just spin
- else if (UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) {
- try {
- if ((tab = table) == null) {
- int n = (sc > 0) ? sc : DEFAULT_CAPACITY;
- tab = table = new Node[n];
- sc = n - (n >>> 2);
- }
- } finally {
- sizeCtl = sc;
- }
- break;
- }
- }
- return tab;
- }
-
- /**
- * If table is too small and not already resizing, creates next
- * table an
<TRUNCATED>