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

NSAmelchev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 08637025d24 IGNITE-28921 Remove unused internal classes (#13401)
08637025d24 is described below

commit 08637025d24576ceec7be1e10b752007ca89d64f
Author: Dmitry Werner <[email protected]>
AuthorDate: Mon Jul 27 13:44:58 2026 +0500

    IGNITE-28921 Remove unused internal classes (#13401)
---
 .../discovery/GridDiscoveryTopologySnapshot.java   |  73 ---
 .../internal/processors/cache/CachePeekModes.java  |  28 -
 .../cache/persistence/RecoveryDebug.java           | 167 ------
 .../cache/persistence/file/FileDownloader.java     | 225 -------
 .../cache/persistence/file/FileUploader.java       |  94 ---
 .../cache/persistence/file/UnzipFileIOFactory.java |  35 --
 .../partstate/PartitionRecoverState.java           |  52 --
 .../resource/GridResourceSupplierInjector.java     |  64 --
 .../util/GridCloseableIteratorAdapterEx.java       | 127 ----
 .../ignite/internal/util/GridCollections.java      | 650 ---------------------
 .../util/GridConcurrentPhantomHashSet.java         | 408 -------------
 .../internal/util/GridFixedSizeInputStream.java    |  86 ---
 .../org/apache/ignite/internal/util/GridMutex.java |  57 --
 .../internal/util/GridSerializableIterable.java    |  28 -
 .../ignite/internal/util/GridSerializableList.java |  33 --
 .../util/GridSpiCloseableIteratorWrapper.java      |  62 --
 .../ignite/internal/util/GridSynchronizedMap.java  | 102 ----
 .../ignite/internal/util/GridWeakIterator.java     |  55 --
 .../internal/util/future/IgniteRemoteMapTask.java  | 143 -----
 .../util/io/GridReversedLinesFileReader.java       | 367 ------------
 .../util/lang/GridPeerDeployAwareAdapter.java      |  69 ---
 .../ignite/internal/util/lang/GridTriple.java      |  52 --
 .../util/lang/gridfunc/LongSumReducer.java         |  51 --
 .../util/lang/gridfunc/MapFactoryCallable.java     |  41 --
 .../util/lang/gridfunc/TransformMapView2.java      | 161 -----
 .../main/resources/META-INF/classnames.properties  |  21 -
 .../cache/persistence/file/FileDownloaderTest.java | 118 ----
 .../ignite/testsuites/IgnitePdsTestSuite4.java     |   2 -
 28 files changed, 3371 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryTopologySnapshot.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryTopologySnapshot.java
deleted file mode 100644
index d2ad0d21046..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryTopologySnapshot.java
+++ /dev/null
@@ -1,73 +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.internal.managers.discovery;
-
-import java.util.Collection;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
-import org.apache.ignite.internal.util.typedef.internal.S;
-
-/**
- * Topology snapshot managed by discovery manager.
- */
-public class GridDiscoveryTopologySnapshot {
-    /** Topology version. */
-    private long topVer;
-
-    /** Topology nodes. */
-    @GridToStringInclude
-    private Collection<ClusterNode> topNodes;
-
-    /**
-     * Creates a topology snapshot with given topology version and topology 
nodes.
-     *
-     * @param topVer Topology version.
-     * @param topNodes Topology nodes.
-     */
-    public GridDiscoveryTopologySnapshot(long topVer, Collection<ClusterNode> 
topNodes) {
-        this.topVer = topVer;
-        this.topNodes = topNodes;
-    }
-
-    /**
-     * Gets topology version if this event is raised on
-     * topology change and configured discovery SPI implementation
-     * supports topology versioning.
-     *
-     * @return Topology version or {@code 0} if configured discovery SPI 
implementation
-     *      does not support versioning.
-     */
-    public long topologyVersion() {
-        return topVer;
-    }
-
-    /**
-     * Gets topology nodes from topology snapshot. If SPI implementation does 
not support
-     * versioning, the best effort snapshot will be captured.
-     *
-     * @return Topology snapshot.
-     */
-    public Collection<ClusterNode> topologyNodes() {
-        return topNodes;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridDiscoveryTopologySnapshot.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePeekModes.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePeekModes.java
deleted file mode 100644
index 4ab3a15c84f..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePeekModes.java
+++ /dev/null
@@ -1,28 +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.internal.processors.cache;
-
-import org.apache.ignite.cache.CachePeekMode;
-
-/**
- *
- */
-public class CachePeekModes {
-    /** */
-    public static final CachePeekMode[] ONHEAP_ONLY = {CachePeekMode.ONHEAP};
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/RecoveryDebug.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/RecoveryDebug.java
deleted file mode 100644
index c68d1cfcd61..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/RecoveryDebug.java
+++ /dev/null
@@ -1,167 +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.internal.processors.cache.persistence;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.file.Paths;
-import java.time.Instant;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.EnumSet;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.pagemem.wal.record.DataEntry;
-import org.apache.ignite.internal.pagemem.wal.record.DataRecord;
-import org.apache.ignite.internal.pagemem.wal.record.TxRecord;
-import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.jetbrains.annotations.Nullable;
-
-import static java.nio.file.StandardOpenOption.CREATE;
-import static java.nio.file.StandardOpenOption.READ;
-import static java.nio.file.StandardOpenOption.WRITE;
-
-/**
- *
- */
-public class RecoveryDebug implements AutoCloseable {
-    /** */
-    private static final DateTimeFormatter DATE_FORMATTER =
-        
DateTimeFormatter.ofPattern("dd-MM-yyyy-HH-mm-ss-SSS").withZone(ZoneId.of("UTC"));
-
-    /** */
-    @Nullable private final IgniteLogger log;
-
-    /** */
-    @Nullable private FileChannel fc;
-
-    /**
-     * @param constId Consistent ID.
-     */
-    public RecoveryDebug(Object constId, long time) {
-        this(constId, time, null);
-    }
-
-    /**
-     * @param constId Consistent ID.
-     * @param log Logger.
-     */
-    public RecoveryDebug(Object constId, long time, @Nullable IgniteLogger 
log) {
-        this.log = log;
-
-        try {
-            String workDir = U.defaultWorkDirectory();
-
-            File tmpDir = new File(workDir, "tmp");
-
-            if (!tmpDir.exists())
-                if (!tmpDir.mkdir())
-                    return;
-
-            File f = new File(tmpDir, "recovery-" +
-                DATE_FORMATTER.format(Instant.ofEpochMilli(time)) + "-" + 
constId + ".log");
-
-            f.createNewFile();
-
-            fc = FileChannel.open(Paths.get(f.getPath()), EnumSet.of(CREATE, 
READ, WRITE));
-        }
-        catch (IgniteCheckedException | IOException e) {
-            U.error(log, "Fail create recovery debug file.", e);
-
-            fc = null;
-        }
-    }
-
-    /**
-     * @param rec TX record to append.
-     * @return {@code this} for convenience.
-     */
-    public RecoveryDebug append(TxRecord rec) {
-        GridCacheVersion txVer = rec.nearXidVersion();
-
-        return fc == null ? this : appendFile(
-            "Tx record " + rec.state() + " " + rec.nearXidVersion() + " 
timestamp " + rec.timestamp()
-        );
-    }
-
-    /**
-     * @param rec Data record to append.
-     * @param unwrapKeyValue unwrap key and value flag.
-     * @return {@code this} for convenience.
-     */
-    public RecoveryDebug append(DataRecord rec, boolean unwrapKeyValue) {
-        if (fc == null)
-            return this;
-
-        append("Data record\n");
-
-        int entryCnt = rec.entryCount();
-
-        for (int i = 0; i < entryCnt; i++) {
-            DataEntry dataEntry = rec.get(i);
-
-            append("\t" + dataEntry.op() + " " + dataEntry.nearXidVersion() +
-                (unwrapKeyValue ? " " + dataEntry.key() + " " + 
dataEntry.value() : "") + "\n"
-            );
-        }
-
-        return this;
-    }
-
-    /**
-     * @param st Statement to append.
-     * @return {@code this} for convenience.
-     */
-    public RecoveryDebug append(Object st) {
-        return fc == null ? this : appendFile(st);
-    }
-
-    /**
-     * @param st Statement to append.
-     * @return {@code this} for convenience.
-     */
-    private RecoveryDebug appendFile(Object st) {
-        try {
-            fc.write(ByteBuffer.wrap(st.toString().getBytes()));
-        }
-        catch (IOException e) {
-            U.error(null, "Fail write to recovery dump file.", e);
-        }
-
-        return this;
-    }
-
-    /**
-     * Closes this debug insrance.
-     */
-    @Override public void close() {
-        if (fc != null) {
-            try {
-                fc.force(true);
-
-                fc.close();
-            }
-            catch (IOException e) {
-                U.error(null, "Fail close recovery dump file.", e);
-            }
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloader.java
deleted file mode 100644
index 2678315fe03..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloader.java
+++ /dev/null
@@ -1,225 +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.internal.processors.cache.persistence.file;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.nio.channels.FileChannel;
-import java.nio.channels.ServerSocketChannel;
-import java.nio.channels.SocketChannel;
-import java.nio.file.Path;
-import java.nio.file.StandardOpenOption;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.typedef.internal.U;
-
-/**
- * Part of direct node to node file downloading
- */
-public class FileDownloader {
-    /** */
-    private final IgniteLogger log;
-
-    /** */
-    private static final int CHUNK_SIZE = 16 * 1024 * 1024;
-
-    /** */
-    private final Path path;
-
-    /** */
-    private long bytesReceived;
-
-    /** */
-    private boolean doneTransfer;
-
-    /** */
-    private long bytesSent = -1;
-
-    /** */
-    private ServerSocketChannel srvChan;
-
-    /** */
-    private SocketChannel readChan;
-
-    /** */
-    private final GridFutureAdapter<Void> finishFut = new 
GridFutureAdapter<>();
-
-    /**
-     *
-     */
-    public FileDownloader(IgniteLogger log, Path path) {
-        this.log = log;
-        this.path = path;
-    }
-
-    /**
-     * @return Download finish future.
-     */
-    public IgniteInternalFuture<Void> finishFuture() {
-        return finishFut;
-    }
-
-    /**
-     *
-     */
-    public InetSocketAddress start() throws IgniteCheckedException {
-        try {
-            ServerSocketChannel ch = ServerSocketChannel.open();
-
-            ch.bind(null);
-
-            srvChan = ch;
-
-            return (InetSocketAddress)ch.getLocalAddress();
-        }
-        catch (Exception ex) {
-            throw new IgniteCheckedException(ex);
-        }
-    }
-
-    /**
-     *
-     */
-    public void download() {
-        FileChannel writeChan = null;
-        SocketChannel readChan = null;
-
-        try {
-            File f = new File(path.toUri().getPath());
-
-            if (f.exists())
-                f.delete();
-
-            File cacheWorkDir = f.getParentFile();
-
-            if (!cacheWorkDir.exists())
-                cacheWorkDir.mkdir();
-
-            readChan = srvChan.accept();
-
-            if (log != null && log.isInfoEnabled())
-                log.info("Accepted incoming connection, closing server socket: 
" + srvChan.getLocalAddress());
-
-            U.closeQuiet(srvChan);
-
-            synchronized (this) {
-                if (finishFut.isDone()) {
-                    // Already received a response with error.
-                    U.closeQuiet(readChan);
-
-                    return;
-                }
-                else
-                    this.readChan = readChan;
-            }
-
-            writeChan = FileChannel.open(path, StandardOpenOption.CREATE_NEW, 
StandardOpenOption.WRITE);
-
-            if (log != null && log.isInfoEnabled())
-                log.info("Started writing file [path=" + path + ", rmtAddr=" + 
readChan.getRemoteAddress() + ']');
-
-            long pos = 0;
-
-            boolean finish = false;
-
-            while (!finish && !finishFut.isDone()) {
-                long transferred = writeChan.transferFrom(readChan, pos, 
CHUNK_SIZE);
-
-                pos += transferred;
-
-                finish = onBytesReceived(transferred);
-            }
-        }
-        catch (IOException ex) {
-            finishFut.onDone(ex);
-        }
-        finally {
-            try {
-                onDoneTransfer();
-            }
-            finally {
-                // Safety.
-                U.closeQuiet(srvChan);
-                U.close(writeChan, log);
-                U.close(readChan, log);
-            }
-        }
-    }
-
-    /**
-     *
-     */
-    public void onResult(long size, Throwable th) {
-        synchronized (this) {
-            if (th != null) {
-                bytesSent = 0;
-
-                finishFut.onDone(th);
-
-                U.closeQuiet(readChan);
-            }
-            else {
-                bytesSent = size;
-
-                checkCompleted();
-            }
-        }
-    }
-
-    /**
-     * @param transferred Number of bytes transferred.
-     * @return {@code True} if should keep reading.
-     */
-    private boolean onBytesReceived(long transferred) {
-        synchronized (this) {
-            bytesReceived += transferred;
-
-            return bytesSent != -1 && bytesSent == bytesReceived;
-        }
-    }
-
-    /**
-     * Called when reading thread stopped transferring bytes for any reason.
-     */
-    private void onDoneTransfer() {
-        synchronized (this) {
-            doneTransfer = true;
-
-            checkCompleted();
-        }
-    }
-
-    /**
-     *
-     */
-    private void checkCompleted() {
-        // Compare sizes if done reading from the socket and received response 
from remote node.
-        if (doneTransfer && bytesSent != -1) {
-            if (bytesReceived == bytesSent)
-                finishFut.onDone();
-            else {
-                finishFut.onDone(new IgniteException("Failed to transfer file 
(sent and received sizes mismatch) [" +
-                    "bytesReceived=" + bytesReceived + ", bytesSent=" + 
bytesSent + ", file=" + path + ']'));
-            }
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileUploader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileUploader.java
deleted file mode 100644
index 4ea4c06a240..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileUploader.java
+++ /dev/null
@@ -1,94 +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.internal.processors.cache.persistence.file;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.channels.FileChannel;
-import java.nio.channels.SocketChannel;
-import java.nio.file.Path;
-import java.nio.file.StandardOpenOption;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.typedef.internal.U;
-
-/**
- * Part of direct node to node file downloading
- */
-public class FileUploader {
-    /** */
-    private static final int CHUNK_SIZE = 1024 * 1024;
-
-    /** */
-    private final Path path;
-
-    /** */
-    private final IgniteLogger log;
-
-    /**
-     *
-     */
-    public FileUploader(Path path, IgniteLogger log) {
-        this.path = path;
-        this.log = log;
-    }
-
-    /**
-     *
-     */
-    public void upload(SocketChannel writeChan, GridFutureAdapter<Long> 
finishFut) {
-        FileChannel readChan = null;
-
-        try {
-            File file = new File(path.toUri().getPath());
-
-            if (!file.exists()) {
-                finishFut.onDone(
-                    new IgniteCheckedException(
-                        new FileNotFoundException(file.getAbsolutePath())
-                    )
-                );
-
-                return;
-            }
-
-            readChan = FileChannel.open(path, StandardOpenOption.READ);
-
-            long written = 0;
-
-            long size = readChan.size();
-
-            while (written < size)
-                written += readChan.transferTo(written, CHUNK_SIZE, writeChan);
-
-            writeChan.shutdownOutput();
-            writeChan.shutdownInput();
-
-            finishFut.onDone(written);
-        }
-        catch (IOException ex) {
-            finishFut.onDone(ex);
-        }
-        finally {
-            U.close(writeChan, log);
-            U.close(readChan, log);
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/UnzipFileIOFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/UnzipFileIOFactory.java
deleted file mode 100644
index 674ba291949..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/UnzipFileIOFactory.java
+++ /dev/null
@@ -1,35 +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.internal.processors.cache.persistence.file;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.OpenOption;
-
-/**
- * File I/O factory which provides {@link UnzipFileIO} implementation of 
FileIO.
- */
-public class UnzipFileIOFactory implements FileIOFactory {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** {@inheritDoc} */
-    @Override public UnzipFileIO create(File file, OpenOption... modes) throws 
IOException {
-        return new UnzipFileIO(file);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/partstate/PartitionRecoverState.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/partstate/PartitionRecoverState.java
deleted file mode 100644
index 4c7e4d73230..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/partstate/PartitionRecoverState.java
+++ /dev/null
@@ -1,52 +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.internal.processors.cache.persistence.partstate;
-
-/**
- * Class holds state of partition during recovery process.
- */
-public class PartitionRecoverState {
-    /** State id. */
-    private final int stateId;
-
-    /** Update counter. */
-    private final long updateCounter;
-
-    /**
-     * @param stateId State id.
-     * @param updateCounter Update counter.
-     */
-    public PartitionRecoverState(int stateId, long updateCounter) {
-        this.stateId = stateId;
-        this.updateCounter = updateCounter;
-    }
-
-    /**
-     *
-     */
-    public int stateId() {
-        return stateId;
-    }
-
-    /**
-     *
-     */
-    public long updateCounter() {
-        return updateCounter;
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSupplierInjector.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSupplierInjector.java
deleted file mode 100644
index 679303b8066..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSupplierInjector.java
+++ /dev/null
@@ -1,64 +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.internal.processors.resource;
-
-import java.util.function.Supplier;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.managers.deployment.GridDeployment;
-import org.apache.ignite.internal.util.typedef.internal.S;
-
-/**
- * Simple injector which wraps resource object supplier.
- *
- * @param <T> Type of injected resource.
- */
-class GridResourceSupplierInjector<T> implements GridResourceInjector {
-    /** Resource to inject. */
-    private final Supplier<T> supplier;
-
-    /**
-     * Creates injector.
-     *
-     * @param supplier Resource supplier.
-     */
-    GridResourceSupplierInjector(Supplier<T> supplier) {
-        this.supplier = supplier;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void inject(GridResourceField field, Object target, 
Class<?> depCls, GridDeployment dep)
-        throws IgniteCheckedException {
-        GridResourceUtils.inject(field.getField(), target, supplier.get());
-    }
-
-    /** {@inheritDoc} */
-    @Override public void inject(GridResourceMethod mtd, Object target, 
Class<?> depCls, GridDeployment dep)
-        throws IgniteCheckedException {
-        GridResourceUtils.inject(mtd.getMethod(), target, supplier.get());
-    }
-
-    /** {@inheritDoc} */
-    @Override public void undeploy(GridDeployment dep) {
-        /* No-op. There is no cache. */
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridResourceSupplierInjector.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCloseableIteratorAdapterEx.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridCloseableIteratorAdapterEx.java
deleted file mode 100644
index b5c7d1fcad0..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCloseableIteratorAdapterEx.java
+++ /dev/null
@@ -1,127 +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.internal.util;
-
-import java.util.NoSuchElementException;
-import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.util.lang.GridCloseableIterator;
-import org.apache.ignite.internal.util.lang.GridIteratorAdapter;
-
-/**
- * Adapter for closeable iterator that can be safely closed concurrently.
- */
-public abstract class GridCloseableIteratorAdapterEx<T> extends 
GridIteratorAdapter<T>
-    implements GridCloseableIterator<T> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Closed flag. */
-    private final AtomicBoolean closed = new AtomicBoolean();
-
-    /** {@inheritDoc} */
-    @Override public final T nextX() throws IgniteCheckedException {
-        if (closed.get())
-            return null;
-
-        try {
-            if (!onHasNext())
-                throw new NoSuchElementException();
-
-            return onNext();
-        }
-        catch (IgniteCheckedException e) {
-            if (closed.get())
-                return null;
-            else
-                throw e;
-        }
-    }
-
-    /**
-     * @return Next element.
-     * @throws IgniteCheckedException If failed.
-     * @throws NoSuchElementException If no element found.
-     */
-    protected abstract T onNext() throws IgniteCheckedException;
-
-    /** {@inheritDoc} */
-    @Override public final boolean hasNextX() throws IgniteCheckedException {
-        if (closed.get())
-            return false;
-
-        try {
-            return onHasNext();
-        }
-        catch (IgniteCheckedException e) {
-            if (closed.get())
-                return false;
-            else
-                throw e;
-        }
-    }
-
-    /**
-     * @return {@code True} if iterator has next element.
-     * @throws IgniteCheckedException If failed.
-     */
-    protected abstract boolean onHasNext() throws IgniteCheckedException;
-
-    /** {@inheritDoc} */
-    @Override public final void removeX() throws IgniteCheckedException {
-        if (closed.get())
-            throw new NoSuchElementException("Iterator has been closed.");
-
-        try {
-            onRemove();
-        }
-        catch (IgniteCheckedException e) {
-            if (!closed.get())
-                throw e;
-        }
-    }
-
-    /**
-     * Called on remove from iterator.
-     *
-     * @throws IgniteCheckedException If failed.
-     */
-    protected void onRemove() throws IgniteCheckedException {
-        throw new UnsupportedOperationException("Remove is not supported.");
-    }
-
-    /** {@inheritDoc} */
-    @Override public final void close() throws IgniteCheckedException {
-        if (closed.compareAndSet(false, true))
-            onClose();
-    }
-
-    /**
-     * Invoked on iterator close.
-     *
-     * @throws IgniteCheckedException If closing failed.
-     */
-    protected void onClose() throws IgniteCheckedException {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isClosed() {
-        return closed.get();
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCollections.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridCollections.java
deleted file mode 100644
index b7ee109c880..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCollections.java
+++ /dev/null
@@ -1,650 +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.internal.util;
-
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.locks.ReentrantLock;
-
-/**
- * Provides locked wrappers around given maps and collections. Since {@link 
ReentrantLock}
- * performs a lot better than standard Java {@code synchronization}, these 
locked wrappers
- * should perform better as their analogous methods in {@code 
java.util.Collections} class.
- */
-public final class GridCollections {
-    /**
-     * Ensure singleton.
-     */
-    private GridCollections() {
-        // No-op.
-    }
-
-    /**
-     * Gets locked map wrapping given map.
-     *
-     * @param m Map to wrap into locked implementation.
-     * @return Locked map.
-     */
-    public static <K, V> Map<K, V> lockedMap(Map<K, V> m) {
-        return new LockedMap<>(m);
-    }
-
-    /**
-     * Gets locked set wrapping given set.
-     *
-     * @param s Set to wrap into locked implementation.
-     * @return Locked set.
-     */
-    public static <E> Set<E> lockedSet(Set<E> s) {
-        return new LockedSet<>(s);
-    }
-
-    /**
-     * Gets locked collection wrapping given set.
-     *
-     * @param c Collection to wrap into locked implementation.
-     * @return Locked collection.
-     */
-    public static <E> Collection<E> lockedCollection(Collection<E> c) {
-        return new LockedCollection<>(c);
-    }
-
-    /**
-     * Synchronized map.
-     */
-    private static final class LockedMap<K, V> extends ReentrantLock 
implements Map<K, V> {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Delegate map. */
-        private final Map<K, V> m;
-
-        /**
-         * @param m Map.
-         */
-        private LockedMap(Map<K, V> m) {
-            this.m = m;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void clear() {
-            lock();
-
-            try {
-                m.clear();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int size() {
-            lock();
-
-            try {
-                return m.size();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isEmpty() {
-            lock();
-
-            try {
-                return m.isEmpty();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean containsKey(Object key) {
-            lock();
-
-            try {
-                return m.containsKey(key);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean containsValue(Object val) {
-            lock();
-
-            try {
-                return m.containsValue(val);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public V get(Object key) {
-            lock();
-
-            try {
-                return m.get(key);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public V put(K key, V val) {
-            lock();
-
-            try {
-                return m.put(key, val);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public V remove(Object key) {
-            lock();
-
-            try {
-                return m.remove(key);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public void putAll(Map<? extends K, ? extends V> m) {
-            lock();
-
-            try {
-                this.m.putAll(m);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public Set<K> keySet() {
-            lock();
-
-            try {
-                return new LockedSet<>(m.keySet());
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public Collection<V> values() {
-            lock();
-
-            try {
-                return new LockedCollection<>(m.values());
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public Set<Entry<K, V>> entrySet() {
-            lock();
-
-            try {
-                return new LockedSet<>(m.entrySet());
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            lock();
-
-            try {
-                return m.equals(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            lock();
-
-            try {
-                return m.hashCode();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            lock();
-
-            try {
-                return m.toString();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /**
-         * Overrides write object.
-         *
-         * @param s Object output stream.
-         * @throws IOException If failed.
-         */
-        private void writeObject(ObjectOutputStream s) throws IOException {
-            lock();
-
-            try {
-                s.defaultWriteObject();
-            }
-            finally {
-                unlock();
-            }
-        }
-    }
-
-    /**
-     * Synchronized set.
-     */
-    private static final class LockedSet<E> extends LockedCollection<E> 
implements Set<E> {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /**
-         * @param s Set to wrap.
-         */
-        @SuppressWarnings({"TypeMayBeWeakened"})
-        private LockedSet(Set<E> s) {
-            super(s);
-        }
-    }
-
-    /**
-     * Synchronized list.
-     */
-    private static final class LockedList<E> extends LockedCollection<E> 
implements List<E> {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** List. */
-        private final List<E> l;
-
-        /**
-         * @param l List to wrap.
-         */
-        private LockedList(List<E> l) {
-            super(l);
-
-            this.l = l;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void add(int index, E e) {
-            lock();
-
-            try {
-                l.add(index, e);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean addAll(int idx, Collection<? extends E> c) {
-            lock();
-
-            try {
-                return l.addAll(c);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public E get(int idx) {
-            lock();
-
-            try {
-                return l.get(idx);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public E set(int idx, E e) {
-            lock();
-
-            try {
-                return l.set(idx, e);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public E remove(int idx) {
-            lock();
-
-            try {
-                return l.remove(idx);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int indexOf(Object o) {
-            lock();
-
-            try {
-                return l.indexOf(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int lastIndexOf(Object o) {
-            lock();
-
-            try {
-                return l.lastIndexOf(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public ListIterator<E> listIterator() {
-            return l.listIterator(); // Must be synchronized manually by user.
-        }
-
-        /** {@inheritDoc} */
-        @Override public ListIterator<E> listIterator(int idx) {
-            return l.listIterator(idx); // Must be synchronized manually by 
user.
-        }
-
-        /** {@inheritDoc} */
-        @Override public List<E> subList(int fromIdx, int toIdx) {
-            lock();
-
-            try {
-                return new LockedList<>(l.subList(fromIdx, toIdx));
-            }
-            finally {
-                unlock();
-            }
-        }
-    }
-
-    /**
-     * Synchronized collection.
-     */
-    private static class LockedCollection<E> extends ReentrantLock implements 
Collection<E> {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Delegating collection. */
-        protected final Collection<E> c;
-
-        /**
-         * @param c Delegating collection.
-         */
-        private LockedCollection(Collection<E> c) {
-            this.c = c;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean add(E e) {
-            lock();
-
-            try {
-                return c.add(e);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int size() {
-            lock();
-
-            try {
-                return c.size();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isEmpty() {
-            lock();
-
-            try {
-                return c.isEmpty();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean contains(Object o) {
-            lock();
-
-            try {
-                return c.contains(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public Iterator<E> iterator() {
-            return c.iterator(); // Must be manually synced by user.
-        }
-
-        /** {@inheritDoc} */
-        @Override public Object[] toArray() {
-            lock();
-
-            try {
-                return c.toArray();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @SuppressWarnings({"SuspiciousToArrayCall"})
-        @Override public <T> T[] toArray(T[] a) {
-            lock();
-
-            try {
-                return c.toArray(a);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean remove(Object o) {
-            lock();
-
-            try {
-                return c.remove(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean containsAll(Collection<?> c) {
-            lock();
-
-            try {
-                return this.c.containsAll(c);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean addAll(Collection<? extends E> c) {
-            lock();
-
-            try {
-                return this.c.addAll(c);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean removeAll(Collection<?> c) {
-            lock();
-
-            try {
-                return this.c.removeAll(c);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean retainAll(Collection<?> c) {
-            lock();
-
-            try {
-                return this.c.retainAll(c);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public void clear() {
-            lock();
-
-            try {
-                c.clear();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            lock();
-
-            try {
-                return c.hashCode();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            lock();
-
-            try {
-                return c.equals(o);
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            lock();
-
-            try {
-                return c.toString();
-            }
-            finally {
-                unlock();
-            }
-        }
-
-        /**
-         * Overrides write object.
-         *
-         * @param s Object output stream.
-         * @throws IOException If failed.
-         */
-        private void writeObject(ObjectOutputStream s) throws IOException {
-            lock();
-
-            try {
-                s.defaultWriteObject();
-            }
-            finally {
-                unlock();
-            }
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentPhantomHashSet.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentPhantomHashSet.java
deleted file mode 100644
index 642ddaa98fc..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridConcurrentPhantomHashSet.java
+++ /dev/null
@@ -1,408 +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.internal.util;
-
-import java.lang.ref.PhantomReference;
-import java.lang.ref.Reference;
-import java.lang.ref.ReferenceQueue;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import org.apache.ignite.internal.util.tostring.GridToStringExclude;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.A;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteClosure;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Concurrent phantom hash set implementation.
- */
-public class GridConcurrentPhantomHashSet<E> implements Set<E> {
-    /** Empty array. */
-    private static final Object[] EMPTY_ARR = new Object[0];
-
-    /** Reference store. */
-    @GridToStringInclude
-    private GridConcurrentHashSet<PhantomReferenceElement<E>> store;
-
-    /** Reference queue. */
-    @GridToStringExclude
-    private final ReferenceQueue<E> refQ = new ReferenceQueue<>();
-
-    /** Reference factory. */
-    private final IgniteClosure<E, PhantomReferenceElement<E>> fact = new 
IgniteClosure<E, PhantomReferenceElement<E>>() {
-        @Override public PhantomReferenceElement<E> apply(E e) {
-            assert e != null;
-
-            return new PhantomReferenceElement<>(e, refQ);
-        }
-    };
-
-    /**
-     * Creates a new, empty set with a default initial capacity,
-     * load factor, and concurrencyLevel.
-     */
-    public GridConcurrentPhantomHashSet() {
-        store = new GridConcurrentHashSet<>();
-    }
-
-    /**
-     * Creates a new, empty set with the specified initial
-     * capacity, and with default load factor and concurrencyLevel.
-     *
-     * @param initCap The initial capacity. The implementation
-     *      performs internal sizing to accommodate this many elements.
-     * @throws IllegalArgumentException if the initial capacity of
-     *      elements is negative.
-     */
-    public GridConcurrentPhantomHashSet(int initCap) {
-        store = new GridConcurrentHashSet<>(initCap);
-    }
-
-    /**
-     * Creates a new, empty set with the specified initial
-     * capacity, load factor, and concurrency level.
-     *
-     * @param initCap The initial capacity. The implementation
-     *      performs internal sizing to accommodate this many elements.
-     * @param loadFactor The load factor threshold, used to control resizing.
-     *      Resizing may be performed when the average number of elements per
-     *      bin exceeds this threshold.
-     * @param conLevel The estimated number of concurrently
-     *      updating threads. The implementation performs internal sizing
-     *      to try to accommodate this many threads.
-     * @throws IllegalArgumentException if the initial capacity is
-     *      negative or the load factor or concurrency level are
-     *      non-positive.
-     */
-    public GridConcurrentPhantomHashSet(int initCap, float loadFactor, int 
conLevel) {
-        store = new GridConcurrentHashSet<>(initCap, loadFactor, conLevel);
-    }
-
-    /**
-     * Constructs a new set containing the elements in the specified
-     * collection, with default load factor and an initial
-     * capacity sufficient to contain the elements in the specified collection.
-     *
-     * @param c Collection to add.
-     */
-    public GridConcurrentPhantomHashSet(Collection<E> c) {
-        this(c.size());
-
-        addAll(c);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"SimplifiableIfStatement"})
-    @Override public boolean add(E e) {
-        A.notNull(e, "e");
-
-        removeStale();
-
-        if (!contains(e))
-            return store.add(fact.apply(e));
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean addAll(@Nullable Collection<? extends E> c) {
-        boolean res = false;
-
-        if (!F.isEmpty(c)) {
-            assert c != null;
-
-            for (E e : c) {
-                res |= add(e);
-            }
-        }
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean retainAll(@Nullable Collection<?> c) {
-        removeStale();
-
-        boolean res = false;
-
-        if (!F.isEmpty(c)) {
-            assert c != null;
-
-            Iterator<PhantomReferenceElement<E>> iter = store.iterator();
-
-            while (iter.hasNext()) {
-                if (!c.contains(iter.next().get())) {
-                    iter.remove();
-
-                    res = true;
-                }
-            }
-        }
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int size() {
-        removeStale();
-
-        return store.size();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isEmpty() {
-        removeStale();
-
-        return store.isEmpty();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean contains(@Nullable Object o) {
-        removeStale();
-
-        if (!store.isEmpty() && o != null) {
-            for (PhantomReferenceElement ref : store) {
-                Object reft = ref.get();
-
-                if (reft != null && reft.equals(o))
-                    return true;
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean containsAll(@Nullable Collection<?> c) {
-        if (F.isEmpty(c))
-            return false;
-
-        assert c != null;
-
-        for (Object o : c) {
-            if (!contains(o))
-                return false;
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Object[] toArray() {
-        return toArray(EMPTY_ARR);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"SuspiciousToArrayCall"})
-    @Override public <T> T[] toArray(T[] a) {
-        removeStale();
-
-        Collection<E> elems = new LinkedList<>();
-
-        for (PhantomReferenceElement<E> ref : store) {
-            E e = ref.get();
-
-            if (e != null)
-                elems.add(e);
-        }
-
-        return elems.toArray(a);
-    }
-
-    /** {@inheritDoc} */
-    @Override public Iterator<E> iterator() {
-        removeStale();
-
-        return new Iterator<E>() {
-            /** Storage iterator. */
-            private Iterator<PhantomReferenceElement<E>> iter = 
store.iterator();
-
-            /** Current element. */
-            private E elem;
-
-            /** {@inheritDoc} */
-            @Override public boolean hasNext() {
-                if (elem == null) {
-                    while (iter.hasNext()) {
-                        PhantomReferenceElement<E> ref = iter.next();
-
-                        E e;
-
-                        if (ref != null && (e = ref.get()) != null) {
-                            elem = e;
-
-                            break;
-                        }
-                        else
-                            removeStale();
-                    }
-                }
-
-                return elem != null;
-            }
-
-            /** {@inheritDoc} */
-            @Override public E next() {
-                if (elem == null) {
-                    if (!hasNext())
-                        throw new NoSuchElementException();
-                }
-
-                E res = elem;
-
-                elem = null;
-
-                return res;
-            }
-
-            /** {@inheritDoc} */
-            @Override public void remove() {
-                iter.remove();
-            }
-        };
-    }
-
-    /** {@inheritDoc} */
-    @Override public void clear() {
-        store.clear();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean remove(@Nullable Object o) {
-        removeStale();
-
-        if (o != null) {
-            for (Iterator<PhantomReferenceElement<E>> iter = store.iterator(); 
iter.hasNext();) {
-                Object reft = iter.next().get();
-
-                if (reft != null && reft.equals(o)) {
-                    iter.remove();
-
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean removeAll(@Nullable Collection<?> c) {
-        boolean res = false;
-
-        if (!F.isEmpty(c)) {
-            assert c != null;
-
-            for (Object o : c) {
-                res |= remove(o);
-            }
-        }
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean equals(@Nullable Object o) {
-        if (this == o)
-            return true;
-
-        if (!(o instanceof GridConcurrentPhantomHashSet))
-            return false;
-
-        GridConcurrentPhantomHashSet that = (GridConcurrentPhantomHashSet)o;
-
-        return store.equals(that.store);
-    }
-
-    /** {@inheritDoc} */
-    @Override public int hashCode() {
-        return store.hashCode();
-    }
-
-    /**
-     * Removes stale references.
-     */
-    private void removeStale() {
-        PhantomReferenceElement<E> ref;
-
-        while ((ref = (PhantomReferenceElement<E>)refQ.poll()) != null) {
-            store.remove(ref);
-
-            onGc(ref.get());
-        }
-    }
-
-    /**
-     * This method is called on every element when it gets GC-ed.
-     *
-     * @param e Element that is about to get GC-ed.
-     */
-    protected void onGc(E e) {
-        // No-op.
-    }
-
-    /**
-     * Phantom reference implementation for this set.
-     */
-    private static class PhantomReferenceElement<E> extends 
PhantomReference<E> {
-        /** Element hash code. */
-        private int hashCode;
-
-        /**
-         * Creates weak reference element.
-         *
-         * @param ref Referent.
-         * @param refQ Reference queue.
-         */
-        private PhantomReferenceElement(E ref, ReferenceQueue<? super E> refQ) 
{
-            super(ref, refQ);
-
-            hashCode = ref != null ? ref.hashCode() : 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            if (this == o)
-                return true;
-
-            if (!(o instanceof PhantomReferenceElement))
-                return false;
-
-            E thisRef = get();
-
-            Object thatRef = ((Reference)o).get();
-
-            return thisRef != null ? thisRef.equals(thatRef) : thatRef == null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            return hashCode;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridConcurrentPhantomHashSet.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridFixedSizeInputStream.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridFixedSizeInputStream.java
deleted file mode 100644
index 9383df2772a..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridFixedSizeInputStream.java
+++ /dev/null
@@ -1,86 +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.internal.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Input stream wrapper which allows to read exactly expected number of bytes.
- */
-public class GridFixedSizeInputStream extends InputStream {
-    /** */
-    private final InputStream in;
-
-    /** */
-    private long size;
-
-    /**
-     * @param in Input stream.
-     * @param size Size of available data.
-     */
-    public GridFixedSizeInputStream(InputStream in, long size) {
-        this.in = in;
-        this.size = size;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int read(byte[] b, int off, int len) throws IOException {
-        assert len <= b.length;
-
-        if (size == 0)
-            return -1;
-
-        if (len > size)
-            // Assignment is ok because size < len <= Integer.MAX_VALUE
-            len = (int)size;
-
-        int res = in.read(b, off, len);
-
-        if (res == -1)
-            throw new IOException("Expected " + size + " more bytes to read.");
-
-        assert res >= 0 : res;
-
-        size -= res;
-
-        assert size >= 0 : size;
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int available() throws IOException {
-        return size > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)size;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int read() throws IOException {
-        if (size == 0)
-            return -1;
-
-        int res = in.read();
-
-        if (res == -1)
-            throw new IOException("Expected " + size + " more bytes to read.");
-
-        size--;
-
-        return res;
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridMutex.java 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridMutex.java
deleted file mode 100644
index ecd53ffcf93..00000000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridMutex.java
+++ /dev/null
@@ -1,57 +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.internal.util;
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-
-/**
- * Serializable mutex.
- */
-public class GridMutex implements Externalizable, Cloneable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** {@inheritDoc} */
-    @Override public Object clone() {
-        try {
-            return super.clone();
-        }
-        catch (CloneNotSupportedException ignore) {
-            throw new InternalError();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridMutex.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableIterable.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableIterable.java
deleted file mode 100644
index 525989f9e5f..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableIterable.java
+++ /dev/null
@@ -1,28 +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.internal.util;
-
-import java.io.Serializable;
-
-/**
- * Makes {@link Iterable} as {@link Serializable} and is
- * useful for making anonymous serializable iterators.
- */
-public interface GridSerializableIterable<E> extends Iterable<E>, Serializable 
{
-    // No-op.
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableList.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableList.java
deleted file mode 100644
index b3acb914f73..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSerializableList.java
+++ /dev/null
@@ -1,33 +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.internal.util;
-
-import java.io.Serializable;
-import java.util.AbstractList;
-
-/**
- * Makes {@link AbstractList} as {@link Serializable} and is
- * useful for making anonymous serializable lists. It has no
- * extra logic or state in addition to {@link AbstractList}.
- */
-public abstract class GridSerializableList<E> extends AbstractList<E> 
implements Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    // No-op.
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSpiCloseableIteratorWrapper.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridSpiCloseableIteratorWrapper.java
deleted file mode 100644
index a507321e382..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSpiCloseableIteratorWrapper.java
+++ /dev/null
@@ -1,62 +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.internal.util;
-
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.util.lang.GridCloseableIterator;
-import org.apache.ignite.spi.IgniteSpiCloseableIterator;
-
-/**
- * Wrapper used to covert {@link 
org.apache.ignite.spi.IgniteSpiCloseableIterator} to {@link 
GridCloseableIterator}.
- */
-public class GridSpiCloseableIteratorWrapper<T> extends 
GridCloseableIteratorAdapter<T> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    private final IgniteSpiCloseableIterator<T> iter;
-
-    /**
-     * @param iter Spi iterator.
-     */
-    public GridSpiCloseableIteratorWrapper(IgniteSpiCloseableIterator<T> iter) 
{
-        assert iter != null;
-
-        this.iter = iter;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected T onNext() throws IgniteCheckedException {
-        return iter.next();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean onHasNext() throws IgniteCheckedException {
-        return iter.hasNext();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onClose() throws IgniteCheckedException {
-        iter.close();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onRemove() throws IgniteCheckedException {
-        iter.remove();
-    }
-}
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
deleted file mode 100644
index d997944dff2..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridSynchronizedMap.java
+++ /dev/null
@@ -1,102 +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.internal.util;
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.Map;
-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 ConcurrentHashMap<K, V> 
implements Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** {@inheritDoc} */
-    @Override public synchronized V putIfAbsent(K key, V val) {
-        return super.putIfAbsent(key, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized boolean remove(Object key, Object val) {
-        return super.remove(key, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized boolean replace(K key, V oldVal, V newVal) {
-        return super.replace(key, oldVal, newVal);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized V replace(K key, V val) {
-        return super.replace(key, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized V put(K key, V val) {
-        return super.put(key, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized V remove(Object key) {
-        return super.remove(key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized void putAll(Map<? extends K, ? extends V> m) 
{
-        super.putAll(m);
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized void clear() {
-        super.clear();
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized void writeExternal(ObjectOutput out) throws 
IOException {
-        int size = size();
-
-        out.writeInt(size);
-
-        for (Entry<K, V> entry : entrySet()) {
-            out.writeObject(entry.getKey());
-            out.writeObject(entry.getValue());
-
-            size--;
-        }
-
-        assert size == 0 : "Invalid number of entries written: " + size;
-    }
-
-    /** {@inheritDoc} */
-    @Override public synchronized void readExternal(ObjectInput in) throws 
IOException, ClassNotFoundException {
-        int size = in.readInt();
-
-        for (int i = 0; i < size; i++)
-            put((K)in.readObject(), (V)in.readObject());
-
-        int mapSize = size();
-
-        assert mapSize == size : "Invalid map size after reading [size=" + 
size + ", mapSize=" + size + ']';
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridWeakIterator.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridWeakIterator.java
deleted file mode 100644
index 6fce7106d70..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridWeakIterator.java
+++ /dev/null
@@ -1,55 +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.internal.util;
-
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
-import java.util.Iterator;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.util.lang.GridCloseableIterator;
-
-/**
- * Weak iterator.
- */
-public class GridWeakIterator<T> extends WeakReference<Iterator<T>> {
-    /** Nested closeable iterator. */
-    private final GridCloseableIterator<T> it;
-
-    /**
-     * @param ref Referent.
-     * @param it Closeable iterator.
-     * @param q Referent queue.
-     */
-    public GridWeakIterator(Iterator<T> ref, GridCloseableIterator<T> it,
-        ReferenceQueue<Iterator<T>> q) {
-        super(ref, q);
-
-        assert it != null;
-
-        this.it = it;
-    }
-
-    /**
-     * Closes iterator.
-     *
-     * @throws IgniteCheckedException If failed.
-     */
-    public void close() throws IgniteCheckedException {
-        it.close();
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteRemoteMapTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteRemoteMapTask.java
deleted file mode 100644
index e2812569bc7..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteRemoteMapTask.java
+++ /dev/null
@@ -1,143 +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.internal.util.future;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCompute;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.compute.ComputeJob;
-import org.apache.ignite.compute.ComputeJobAdapter;
-import org.apache.ignite.compute.ComputeJobContext;
-import org.apache.ignite.compute.ComputeJobResult;
-import org.apache.ignite.compute.ComputeTask;
-import org.apache.ignite.compute.ComputeTaskAdapter;
-import org.apache.ignite.compute.ComputeTaskFuture;
-import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.lang.IgniteFuture;
-import org.apache.ignite.lang.IgniteInClosure;
-import org.apache.ignite.resources.IgniteInstanceResource;
-import org.apache.ignite.resources.JobContextResource;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Util task that will execute ComputeTask on a given node.
- */
-@GridInternal public class IgniteRemoteMapTask<T, R> extends 
ComputeTaskAdapter<T, R> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    private final ClusterNode node;
-
-    /** */
-    private final ComputeTask<T, R> remoteTask;
-
-    /**
-     * @param node Target node.
-     * @param remoteTask Delegate task.
-     */
-    public IgniteRemoteMapTask(ClusterNode node, ComputeTask<T, R> remoteTask) 
{
-        this.node = node;
-        this.remoteTask = remoteTask;
-    }
-
-    /** {@inheritDoc} */
-    @NotNull @Override public Map<? extends ComputeJob, ClusterNode> 
map(List<ClusterNode> subgrid,
-        @Nullable T arg) throws IgniteException {
-
-        for (ClusterNode node : subgrid) {
-            if (node.equals(this.node))
-                return Collections.singletonMap(new Job<>(remoteTask, arg), 
node);
-        }
-
-        throw new IgniteException("Node " + node + " is not present in 
subgrid.");
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public R reduce(List<ComputeJobResult> results) throws 
IgniteException {
-        assert results.size() == 1;
-
-        return results.get(0).getData();
-    }
-
-    /**
-     *
-     */
-    private static class Job<T, R> extends ComputeJobAdapter {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Auto-inject job context. */
-        @JobContextResource
-        private ComputeJobContext jobCtx;
-
-        /** Auto-inject ignite instance. */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        private final ComputeTask<T, R> remoteTask;
-
-        /** */
-        @Nullable private final T arg;
-
-        /** */
-        @Nullable private ComputeTaskFuture<R> future;
-
-        /**
-         * @param remoteTask Remote task.
-         * @param arg Argument.
-         */
-        public Job(ComputeTask<T, R> remoteTask, @Nullable T arg) {
-            this.remoteTask = remoteTask;
-            this.arg = arg;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Object execute() throws IgniteException {
-            if (future == null) {
-                IgniteCompute compute = ignite.compute().withAsync();
-
-                compute.execute(remoteTask, arg);
-
-                ComputeTaskFuture<R> fut = compute.future();
-
-                this.future = fut;
-
-                jobCtx.holdcc();
-
-                fut.listen(new IgniteInClosure<IgniteFuture<R>>() {
-                    @Override public void apply(IgniteFuture<R> future) {
-                        jobCtx.callcc();
-                    }
-                });
-
-                return null;
-            }
-            else {
-                return future.get();
-            }
-        }
-    }
-
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridReversedLinesFileReader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridReversedLinesFileReader.java
deleted file mode 100644
index 12c80a00f4d..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridReversedLinesFileReader.java
+++ /dev/null
@@ -1,367 +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.internal.util.io;
-
-import java.io.Closeable;
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.UnsupportedCharsetException;
-
-/**
- * Reads lines in a file reversely (similar to a BufferedReader, but starting 
at
- * the last line). Useful for e.g. searching in log files.
- */
-@SuppressWarnings("ALL")
-public class GridReversedLinesFileReader implements Closeable {
-    /** */
-    private final int blockSize;
-
-    /** */
-    private final Charset encoding;
-
-    /** */
-    private final RandomAccessFile randomAccessFile;
-
-    /** */
-    private final long totalByteLength;
-
-    /** */
-    private final long totalBlockCount;
-
-    /** */
-    private final byte[][] newLineSequences;
-
-    /** */
-    private final int avoidNewlineSplitBufferSize;
-
-    /** */
-    private final int byteDecrement;
-
-    /** */
-    private FilePart currentFilePart;
-
-    /** */
-    private boolean trailingNewlineOfFileSkipped = false;
-
-    /**
-     * Creates a ReverseLineReader with default block size of 4KB and the
-     * platform's default encoding.
-     *
-     * @param file
-     *            the file to be read
-     * @throws IOException  if an I/O error occurs
-     */
-    public GridReversedLinesFileReader(final File file) throws IOException {
-        this(file, 4096, Charset.defaultCharset().toString());
-    }
-
-    /**
-     * Creates a ReverseLineReader with the given block size and encoding.
-     *
-     * @param file
-     *            the file to be read
-     * @param blockSize
-     *            size of the internal buffer (for ideal performance this 
should
-     *            match with the block size of the underlying file system).
-     * @param charset
-     *            the encoding of the file
-     * @throws IOException  if an I/O error occurs
-     * @since 2.3
-     */
-    public GridReversedLinesFileReader(final File file, final int blockSize, 
final Charset charset) throws IOException {
-        this.blockSize = blockSize;
-        this.encoding = charset;
-
-        randomAccessFile = new RandomAccessFile(file, "r");
-        totalByteLength = randomAccessFile.length();
-        int lastBlockLength = (int)(totalByteLength % blockSize);
-        if (lastBlockLength > 0) {
-            totalBlockCount = totalByteLength / blockSize + 1;
-        }
-        else {
-            totalBlockCount = totalByteLength / blockSize;
-            if (totalByteLength > 0) {
-                lastBlockLength = blockSize;
-            }
-        }
-        currentFilePart = new FilePart(totalBlockCount, lastBlockLength, null);
-
-        // --- check & prepare encoding ---
-        CharsetEncoder charsetEncoder = charset.newEncoder();
-        float maxBytesPerChar = charsetEncoder.maxBytesPerChar();
-        if (maxBytesPerChar == 1f) {
-            // all one byte encodings are no problem
-            byteDecrement = 1;
-        }
-        else if (charset == Charset.forName("UTF-8")) {
-            // UTF-8 works fine out of the box, for multibyte sequences a 
second UTF-8 byte can never be a newline byte
-            // http://en.wikipedia.org/wiki/UTF-8
-            byteDecrement = 1;
-        }
-        else if (charset == Charset.forName("Shift_JIS")) {
-            // Same as for UTF-8
-            // http://www.herongyang.com/Unicode/JIS-Shift-JIS-Encoding.html
-            byteDecrement = 1;
-        }
-        else if (charset == Charset.forName("UTF-16BE") || charset == 
Charset.forName("UTF-16LE")) {
-            // UTF-16 new line sequences are not allowed as second tuple of 
four byte sequences,
-            // however byte order has to be specified
-            byteDecrement = 2;
-        }
-        else if (charset == Charset.forName("UTF-16")) {
-            throw new UnsupportedEncodingException(
-                "For UTF-16, you need to specify the byte order (use UTF-16BE 
or UTF-16LE)");
-        }
-        else {
-            throw new UnsupportedEncodingException(
-                "Encoding " + charset + " is not supported yet (feel free to 
submit a patch)");
-        }
-        // NOTE: The new line sequences are matched in the order given, so it 
is important that \r\n is BEFORE \n
-        newLineSequences = new byte[][] {"\r\n".getBytes(charset), 
"\n".getBytes(charset), "\r".getBytes(charset)};
-
-        avoidNewlineSplitBufferSize = newLineSequences[0].length;
-    }
-
-    /**
-     * Creates a ReverseLineReader with the given block size and encoding.
-     *
-     * @param file
-     *            the file to be read
-     * @param blockSize
-     *            size of the internal buffer (for ideal performance this 
should
-     *            match with the block size of the underlying file system).
-     * @param encoding
-     *            the encoding of the file
-     * @throws IOException  if an I/O error occurs
-     * @throws UnsupportedCharsetException
-     *             thrown instead of {@link UnsupportedEncodingException} in 
version 2.2 if the encoding is not
-     *             supported.
-     */
-    public GridReversedLinesFileReader(final File file, final int blockSize, 
final String encoding) throws IOException {
-        this(file, blockSize, Charset.forName(encoding));
-    }
-
-    /**
-     * Returns the lines of the file from bottom to top.
-     *
-     * @return the next line or null if the start of the file is reached
-     * @throws IOException  if an I/O error occurs
-     */
-    public String readLine() throws IOException {
-
-        String line = currentFilePart.readLine();
-        while (line == null) {
-            currentFilePart = currentFilePart.rollOver();
-            if (currentFilePart != null) {
-                line = currentFilePart.readLine();
-            }
-            else {
-                // no more fileparts: we're done, leave line set to null
-                break;
-            }
-        }
-
-        // aligned behaviour wiht BufferedReader that doesn't return a last, 
emtpy line
-        if ("".equals(line) && !trailingNewlineOfFileSkipped) {
-            trailingNewlineOfFileSkipped = true;
-            line = readLine();
-        }
-
-        return line;
-    }
-
-    /**
-     * Closes underlying resources.
-     *
-     * @throws IOException  if an I/O error occurs
-     */
-    public void close() throws IOException {
-        randomAccessFile.close();
-    }
-
-    /** */
-    private class FilePart {
-        /** */
-        private final long no;
-
-        /** */
-        private final byte[] data;
-
-        /** */
-        private byte[] leftOver;
-
-        /** */
-        private int currentLastBytePos;
-
-        /**
-         * ctor
-         * @param no the part number
-         * @param length its length
-         * @param leftOverOfLastFilePart remainder
-         * @throws IOException if there is a problem reading the file
-         */
-        private FilePart(final long no, final int length, final byte[] 
leftOverOfLastFilePart) throws IOException {
-            this.no = no;
-            int dataLength = length + (leftOverOfLastFilePart != null ? 
leftOverOfLastFilePart.length : 0);
-            this.data = new byte[dataLength];
-            final long off = (no - 1) * blockSize;
-
-            // read data
-            if (no > 0 /* file not empty */) {
-                randomAccessFile.seek(off);
-                final int cntRead = randomAccessFile.read(data, 0, length);
-                if (cntRead != length) {
-                    throw new IllegalStateException("Count of requested bytes 
and actually read bytes don't match");
-                }
-            }
-            // copy left over part into data arr
-            if (leftOverOfLastFilePart != null) {
-                System.arraycopy(leftOverOfLastFilePart, 0, data, length, 
leftOverOfLastFilePart.length);
-            }
-            this.currentLastBytePos = data.length - 1;
-            this.leftOver = null;
-        }
-
-        /**
-         * Handles block rollover
-         *
-         * @return the new FilePart or null
-         * @throws IOException if there was a problem reading the file
-         */
-        private FilePart rollOver() throws IOException {
-
-            if (currentLastBytePos > -1) {
-                throw new IllegalStateException("Current currentLastCharPos 
unexpectedly positive... "
-                    + "last readLine() should have returned something! 
currentLastCharPos=" + currentLastBytePos);
-            }
-
-            if (no > 1) {
-                return new FilePart(no - 1, blockSize, leftOver);
-            }
-            else {
-                // NO 1 was the last FilePart, we're finished
-                if (leftOver != null) {
-                    throw new IllegalStateException("Unexpected leftover of 
the last block: leftOverOfThisFilePart="
-                        + new String(leftOver, encoding));
-                }
-                return null;
-            }
-        }
-
-        /**
-         * Reads a line.
-         *
-         * @return the line or null
-         * @throws IOException if there is an error reading from the file
-         */
-        private String readLine() throws IOException {
-
-            String line = null;
-            int newLineMatchByteCnt;
-
-            boolean isLastFilePart = no == 1;
-
-            int i = currentLastBytePos;
-            while (i > -1) {
-
-                if (!isLastFilePart && i < avoidNewlineSplitBufferSize) {
-                    // avoidNewlineSplitBuffer: for all except the last file 
part we
-                    // take a few bytes to the next file part to avoid 
splitting of newlines
-                    createLeftOver();
-                    break; // skip last few bytes and leave it to the next 
file part
-                }
-
-                // --- check for newline ---
-                if ((newLineMatchByteCnt = getNewLineMatchByteCount(data, i)) 
> 0 /* found newline */) {
-                    final int lineStart = i + 1;
-                    int lineLengthBytes = currentLastBytePos - lineStart + 1;
-
-                    if (lineLengthBytes < 0) {
-                        throw new IllegalStateException("Unexpected negative 
line length=" + lineLengthBytes);
-                    }
-                    byte[] lineData = new byte[lineLengthBytes];
-                    System.arraycopy(data, lineStart, lineData, 0, 
lineLengthBytes);
-
-                    line = new String(lineData, encoding);
-
-                    currentLastBytePos = i - newLineMatchByteCnt;
-                    break; // found line
-                }
-
-                // --- move cursor ---
-                i -= byteDecrement;
-
-                // --- end of file part handling ---
-                if (i < 0) {
-                    createLeftOver();
-                    break; // end of file part
-                }
-            }
-
-            // --- last file part handling ---
-            if (isLastFilePart && leftOver != null) {
-                // there will be no line break anymore, this is the first line 
of the file
-                line = new String(leftOver, encoding);
-                leftOver = null;
-            }
-
-            return line;
-        }
-
-        /**
-         * Creates the buffer containing any left over bytes.
-         */
-        private void createLeftOver() {
-            int lineLengthBytes = currentLastBytePos + 1;
-            if (lineLengthBytes > 0) {
-                // create left over for next block
-                leftOver = new byte[lineLengthBytes];
-                System.arraycopy(data, 0, leftOver, 0, lineLengthBytes);
-            }
-            else {
-                leftOver = null;
-            }
-            currentLastBytePos = -1;
-        }
-
-        /**
-         * Finds the new-line sequence and return its length.
-         *
-         * @param data buffer to scan
-         * @param i start offset in buffer
-         * @return length of newline sequence or 0 if none found
-         */
-        private int getNewLineMatchByteCount(byte[] data, int i) {
-            for (byte[] newLineSeq : newLineSequences) {
-                boolean match = true;
-                for (int j = newLineSeq.length - 1; j >= 0; j--) {
-                    int k = i + j - (newLineSeq.length - 1);
-                    match &= k >= 0 && data[k] == newLineSeq[j];
-                }
-                if (match) {
-                    return newLineSeq.length;
-                }
-            }
-            return 0;
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridPeerDeployAwareAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridPeerDeployAwareAdapter.java
deleted file mode 100644
index 17ceb5e3563..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridPeerDeployAwareAdapter.java
+++ /dev/null
@@ -1,69 +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.internal.util.lang;
-
-import org.apache.ignite.internal.util.typedef.internal.U;
-
-/**
- * Adapter for common interfaces in closures, reducers and predicates.
- */
-public class GridPeerDeployAwareAdapter implements GridPeerDeployAware {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Peer deploy aware class. */
-    protected transient GridPeerDeployAware pda;
-
-    /**
-     * Sets object that from which peer deployment information
-     * will be copied, i.e. this lambda object will be peer deployed
-     * using the same class loader as given object.
-     * <p>
-     * Note that in most cases Ignite attempts to automatically call this
-     * method whenever lambda classes like closures and predicates are created 
that
-     * wrap user object (the peer deploy information in such cases will be 
copied
-     * from the user object).
-     * <p>
-     * In general, if user gets class not found exception during peer loading 
it is
-     * very likely that peer deploy information was lost during wrapping of 
one object
-     * into another.
-     *
-     * @param obj Peer deploy aware.
-     */
-    public void peerDeployLike(Object obj) {
-        assert obj != null;
-
-        pda = U.peerDeployAware(obj);
-    }
-
-    /** {@inheritDoc} */
-    @Override public Class<?> deployClass() {
-        if (pda == null)
-            pda = U.detectPeerDeployAware(this);
-
-        return pda.deployClass();
-    }
-
-    /** {@inheritDoc} */
-    @Override public ClassLoader classLoader() {
-        if (pda == null)
-            pda = U.detectPeerDeployAware(this);
-
-        return pda.classLoader();
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTriple.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTriple.java
deleted file mode 100644
index 18846f3400d..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTriple.java
+++ /dev/null
@@ -1,52 +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.internal.util.lang;
-
-import java.io.Externalizable;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Simple extension over {@link GridTuple3} for three objects of the same type.
- */
-public class GridTriple<T> extends GridTuple3<T, T, T> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Empty constructor required by {@link Externalizable}.
-     */
-    public GridTriple() {
-        // No-op.
-    }
-
-    /**
-     * Creates triple with given objects.
-     *
-     * @param t1 First object in triple.
-     * @param t2 Second object in triple.
-     * @param t3 Third object in triple.
-     */
-    public GridTriple(@Nullable T t1, @Nullable T t2, @Nullable T t3) {
-        super(t1, t2, t3);
-    }
-
-    /** {@inheritDoc} */
-    @Override public Object clone() {
-        return super.clone();
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/LongSumReducer.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/LongSumReducer.java
deleted file mode 100644
index 8b5d6dc4961..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/LongSumReducer.java
+++ /dev/null
@@ -1,51 +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.internal.util.lang.gridfunc;
-
-import java.util.concurrent.atomic.AtomicLong;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteReducer;
-
-/**
- * Reducer that calculates sum of long integer elements.
- */
-public class LongSumReducer implements IgniteReducer<Long, Long> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    private AtomicLong sum = new AtomicLong(0);
-
-    /** {@inheritDoc} */
-    @Override public boolean collect(Long e) {
-        if (e != null)
-            sum.addAndGet(e);
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Long reduce() {
-        return sum.get();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(LongSumReducer.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/MapFactoryCallable.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/MapFactoryCallable.java
deleted file mode 100644
index ff5981769ca..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/MapFactoryCallable.java
+++ /dev/null
@@ -1,41 +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.internal.util.lang.gridfunc;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteCallable;
-
-/**
- * Hash map factory.
- */
-public class MapFactoryCallable implements IgniteCallable<Map> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** {@inheritDoc} */
-    @Override public Map call() {
-        return new HashMap();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(MapFactoryCallable.class, this);
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/TransformMapView2.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/TransformMapView2.java
deleted file mode 100644
index 9361e5575a9..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/gridfunc/TransformMapView2.java
+++ /dev/null
@@ -1,161 +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.internal.util.lang.gridfunc;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import org.apache.ignite.internal.util.GridSerializableMap;
-import org.apache.ignite.internal.util.GridSerializableSet;
-import org.apache.ignite.internal.util.lang.GridFunc;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteBiClosure;
-import org.apache.ignite.lang.IgnitePredicate;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Light-weight view on given map with provided predicate and clos.
- *
- * @param <K> Type of the key.
- * @param <V> Type of the input map value.
- * @param <V1> Type of the output map value.
- */
-public class TransformMapView2<K, V, V1> extends GridSerializableMap<K, V1> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    private final Map<K, V> map;
-
-    /** */
-    private final IgniteBiClosure<K, V, V1> clos;
-
-    /** */
-    private final IgnitePredicate<? super K>[] preds;
-
-    /** Entry predicate. */
-    private IgnitePredicate<Entry<K, V>> entryPred;
-
-    /**
-     * @param map Input map that serves as a base for the view.
-     * @param clos Transformer for map value transformation.
-     * @param preds Optional predicates. If predicates are not provided - all 
will be in the view.
-     */
-    @SuppressWarnings({"unchecked"})
-    public TransformMapView2(Map<K, V> map, IgniteBiClosure<K, V, V1> clos,
-        IgnitePredicate<? super K>... preds) {
-        this.map = map;
-        this.clos = clos;
-        this.preds = preds;
-        entryPred = new EntryByKeyEvaluationPredicate(preds);
-    }
-
-    /** {@inheritDoc} */
-    @NotNull @Override public Set<Entry<K, V1>> entrySet() {
-        return new GridSerializableSet<Entry<K, V1>>() {
-            @NotNull
-            @Override public Iterator<Entry<K, V1>> iterator() {
-                return new Iterator<Entry<K, V1>>() {
-                    private Iterator<Entry<K, V>> it = 
GridFunc.iterator0(map.entrySet(), true, entryPred);
-
-                    @Override public boolean hasNext() {
-                        return it.hasNext();
-                    }
-
-                    @Override public Entry<K, V1> next() {
-                        final Entry<K, V> e = it.next();
-
-                        return new Entry<K, V1>() {
-                            @Override public K getKey() {
-                                return e.getKey();
-                            }
-
-                            @Override public V1 getValue() {
-                                return clos.apply(e.getKey(), e.getValue());
-                            }
-
-                            @Override public V1 setValue(V1 val) {
-                                throw new UnsupportedOperationException(
-                                    "Put is not supported for readonly map 
view.");
-                            }
-                        };
-                    }
-
-                    @Override public void remove() {
-                        throw new UnsupportedOperationException("Remove is not 
support for readonly map view.");
-                    }
-                };
-            }
-
-            @Override public int size() {
-                return F.size(map.keySet(), preds);
-            }
-
-            @Override public boolean remove(Object o) {
-                throw new UnsupportedOperationException("Remove is not support 
for readonly map view.");
-            }
-
-            @Override public boolean contains(Object o) {
-                return F.isAll((Entry<K, V>)o, entryPred) && 
map.entrySet().contains(o);
-            }
-
-            @Override public boolean isEmpty() {
-                return !iterator().hasNext();
-            }
-        };
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isEmpty() {
-        return entrySet().isEmpty();
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public V1 get(Object key) {
-        if (GridFunc.isAll((K)key, preds)) {
-            V v = map.get(key);
-
-            if (v != null)
-                return clos.apply((K)key, v);
-        }
-
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public V1 put(K key, V1 val) {
-        throw new UnsupportedOperationException("Put is not supported for 
readonly map view.");
-    }
-
-    /** {@inheritDoc} */
-    @Override public V1 remove(Object key) {
-        throw new UnsupportedOperationException("Remove is not supported for 
readonly map view.");
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean containsKey(Object key) {
-        return GridFunc.isAll((K)key, preds) && map.containsKey(key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(TransformMapView2.class, this);
-    }
-}
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties 
b/modules/core/src/main/resources/META-INF/classnames.properties
index 04ceccd84b4..931395d4b7e 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -1267,7 +1267,6 @@ 
org.apache.ignite.internal.processors.cache.persistence.file.EncryptedFileIOFact
 org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory
 
org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager$IdxCacheStores
 
org.apache.ignite.internal.processors.cache.persistence.file.RandomAccessFileIOFactory
-org.apache.ignite.internal.processors.cache.persistence.file.UnzipFileIOFactory
 
org.apache.ignite.internal.processors.cache.persistence.freelist.CorruptedFreeListException
 
org.apache.ignite.internal.processors.cache.persistence.metastorage.pendingtask.DurableBackgroundTask
 
org.apache.ignite.internal.processors.cache.persistence.migration.UpgradePendingTreeToPerPartitionTask
@@ -1903,14 +1902,8 @@ org.apache.ignite.internal.util.GridBoundedLinkedHashSet
 org.apache.ignite.internal.util.GridBoundedPriorityQueue
 org.apache.ignite.internal.util.GridByteArrayList
 org.apache.ignite.internal.util.GridCloseableIteratorAdapter
-org.apache.ignite.internal.util.GridCloseableIteratorAdapterEx
-org.apache.ignite.internal.util.GridCollections$LockedCollection
-org.apache.ignite.internal.util.GridCollections$LockedList
-org.apache.ignite.internal.util.GridCollections$LockedMap
-org.apache.ignite.internal.util.GridCollections$LockedSet
 org.apache.ignite.internal.util.GridConcurrentHashSet
 org.apache.ignite.internal.util.GridConcurrentLinkedHashSet
-org.apache.ignite.internal.util.GridConcurrentPhantomHashSet$1
 org.apache.ignite.internal.util.GridConcurrentSkipListSet
 org.apache.ignite.internal.util.GridConcurrentWeakHashSet$1
 org.apache.ignite.internal.util.GridConsistentHash$1
@@ -1933,21 +1926,16 @@ 
org.apache.ignite.internal.util.GridLogThrottle$LogLevel$1
 org.apache.ignite.internal.util.GridLogThrottle$LogLevel$2
 org.apache.ignite.internal.util.GridLogThrottle$LogLevel$3
 org.apache.ignite.internal.util.GridLongList
-org.apache.ignite.internal.util.GridMutex
 org.apache.ignite.internal.util.GridPartitionStateMap
 org.apache.ignite.internal.util.GridRandom
 org.apache.ignite.internal.util.GridReflectionCache
 org.apache.ignite.internal.util.GridSerializableCollection
-org.apache.ignite.internal.util.GridSerializableIterable
 org.apache.ignite.internal.util.GridSerializableIterator
-org.apache.ignite.internal.util.GridSerializableList
 org.apache.ignite.internal.util.GridSerializableMap
 org.apache.ignite.internal.util.GridSerializableSet
 org.apache.ignite.internal.util.GridSetWrapper
 org.apache.ignite.internal.util.GridSnapshotLock$Sync
-org.apache.ignite.internal.util.GridSpiCloseableIteratorWrapper
 org.apache.ignite.internal.util.GridStringBuilder
-org.apache.ignite.internal.util.GridSynchronizedMap
 org.apache.ignite.internal.util.HostAndPortRange
 org.apache.ignite.internal.util.IgniteExceptionRegistry$ExceptionInfo
 org.apache.ignite.internal.util.IgniteTree$OperationType
@@ -1995,9 +1983,6 @@ 
org.apache.ignite.internal.util.future.GridEmbeddedFuture$AsyncListener2
 org.apache.ignite.internal.util.future.GridFutureChainListener
 org.apache.ignite.internal.util.future.IgniteFutureImpl$1
 org.apache.ignite.internal.util.future.IgniteFutureImpl$InternalFutureListener
-org.apache.ignite.internal.util.future.IgniteRemoteMapTask
-org.apache.ignite.internal.util.future.IgniteRemoteMapTask$Job
-org.apache.ignite.internal.util.future.IgniteRemoteMapTask$Job$1
 org.apache.ignite.internal.util.io.GridFilenameUtils$IOCase
 org.apache.ignite.internal.util.lang.GridAbsClosure
 org.apache.ignite.internal.util.lang.GridAbsClosureX
@@ -2013,8 +1998,6 @@ org.apache.ignite.internal.util.lang.GridMapEntry
 org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter$EntryKey
 org.apache.ignite.internal.util.lang.GridNodePredicate
 org.apache.ignite.internal.util.lang.GridPeerDeployAware
-org.apache.ignite.internal.util.lang.GridPeerDeployAwareAdapter
-org.apache.ignite.internal.util.lang.GridTriple
 org.apache.ignite.internal.util.lang.GridTuple
 org.apache.ignite.internal.util.lang.GridTuple3
 org.apache.ignite.internal.util.lang.GridTuple4
@@ -2061,8 +2044,6 @@ 
org.apache.ignite.internal.util.lang.gridfunc.IntSumReducer
 org.apache.ignite.internal.util.lang.gridfunc.IsAllPredicate
 org.apache.ignite.internal.util.lang.gridfunc.IsNotAllPredicate
 org.apache.ignite.internal.util.lang.gridfunc.IsNotNullPredicate
-org.apache.ignite.internal.util.lang.gridfunc.LongSumReducer
-org.apache.ignite.internal.util.lang.gridfunc.MapFactoryCallable
 org.apache.ignite.internal.util.lang.gridfunc.MultipleIterator
 org.apache.ignite.internal.util.lang.gridfunc.NoOpClosure
 org.apache.ignite.internal.util.lang.gridfunc.NotContainsPredicate
@@ -2084,8 +2065,6 @@ 
org.apache.ignite.internal.util.lang.gridfunc.TransformCollectionView
 org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator
 org.apache.ignite.internal.util.lang.gridfunc.TransformMapView
 org.apache.ignite.internal.util.lang.gridfunc.TransformMapView$1
-org.apache.ignite.internal.util.lang.gridfunc.TransformMapView2
-org.apache.ignite.internal.util.lang.gridfunc.TransformMapView2$1
 org.apache.ignite.internal.util.nio.GridNioEmbeddedFuture$1
 org.apache.ignite.internal.util.nio.GridNioException
 org.apache.ignite.internal.util.nio.GridNioMessageTracker
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloaderTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloaderTest.java
deleted file mode 100644
index cbe39962453..00000000000
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/file/FileDownloaderTest.java
+++ /dev/null
@@ -1,118 +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.internal.processors.cache.persistence.file;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.InetSocketAddress;
-import java.nio.channels.SocketChannel;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.junit.Test;
-
-import static org.apache.ignite.testframework.GridTestUtils.runAsync;
-import static org.junit.Assert.assertArrayEquals;
-
-/**
- * FileDownloader test
- */
-public class FileDownloaderTest extends GridCommonAbstractTest {
-    /** */
-    private static final Path DOWNLOADER_PATH = new File("download").toPath();
-
-    /** */
-    private static final Path UPLOADER_PATH = new File("upload").toPath();
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        super.beforeTest();
-
-        if (DOWNLOADER_PATH.toFile().exists())
-            DOWNLOADER_PATH.toFile().delete();
-
-        if (UPLOADER_PATH.toFile().exists())
-            UPLOADER_PATH.toFile().delete();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        super.afterTest();
-
-        if (DOWNLOADER_PATH.toFile().exists())
-            DOWNLOADER_PATH.toFile().delete();
-
-        if (UPLOADER_PATH.toFile().exists())
-            UPLOADER_PATH.toFile().delete();
-    }
-
-    /***
-     *
-     * @throws Exception If failed.
-     */
-    @Test
-    public void test() throws Exception {
-        assertTrue(UPLOADER_PATH.toFile().createNewFile());
-        assertTrue(!DOWNLOADER_PATH.toFile().exists());
-
-        PrintWriter writer = new PrintWriter(UPLOADER_PATH.toFile());
-
-        for (int i = 0; i < 1_000_000; i++)
-            writer.write("HELLO WORLD");
-
-        writer.close();
-
-        FileDownloader downloader = new FileDownloader(log, DOWNLOADER_PATH);
-
-        InetSocketAddress addr = downloader.start();
-
-        GridFutureAdapter<Long> finishFut = new GridFutureAdapter<>();
-
-        FileUploader uploader = new FileUploader(UPLOADER_PATH, log);
-
-        SocketChannel sc = null;
-
-        try {
-            sc = SocketChannel.open(addr);
-        }
-        catch (IOException e) {
-            U.warn(log, "Fail connect to " + addr, e);
-        }
-
-        runAsync(downloader::download);
-
-        SocketChannel finalSc = sc;
-
-        runAsync(() -> uploader.upload(finalSc, finishFut));
-
-        finishFut.get();
-
-        downloader.onResult(finishFut.get(), null);
-
-        downloader.finishFuture().get();
-
-        assertTrue(DOWNLOADER_PATH.toFile().exists());
-
-        assertEquals(UPLOADER_PATH.toFile().length(), 
DOWNLOADER_PATH.toFile().length());
-
-        assertArrayEquals(Files.readAllBytes(UPLOADER_PATH), 
Files.readAllBytes(DOWNLOADER_PATH));
-    }
-}
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java
index 986ca50a1f1..4f23baa58a8 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java
@@ -47,7 +47,6 @@ import 
org.apache.ignite.internal.processors.cache.persistence.db.IgnitePdsStart
 import 
org.apache.ignite.internal.processors.cache.persistence.db.IgnitePdsTransactionsHangTest;
 import 
org.apache.ignite.internal.processors.cache.persistence.db.wal.IgniteDisableWalOnRebalanceTest;
 import 
org.apache.ignite.internal.processors.cache.persistence.db.wal.WalRebalanceRestartTest;
-import 
org.apache.ignite.internal.processors.cache.persistence.file.FileDownloaderTest;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.DynamicSuite;
 import org.junit.runner.RunWith;
@@ -71,7 +70,6 @@ public class IgnitePdsTestSuite4 {
 
         addRealPageStoreTestsNotForDirectIo(suite, ignoredTests);
 
-        GridTestUtils.addTestIfNeeded(suite, FileDownloaderTest.class, 
ignoredTests);
         GridTestUtils.addTestIfNeeded(suite, IgnitePdsTaskCancelingTest.class, 
ignoredTests);
         GridTestUtils.addTestIfNeeded(suite, 
IgniteClusterActivateDeactivateTestWithPersistenceAndMemoryReuse.class, 
ignoredTests);
         GridTestUtils.addTestIfNeeded(suite, 
IgnitePdsPartitionPreloadTest.class, ignoredTests);

Reply via email to