|
@@ -15,7 +15,23 @@
|
|
|
* See the License for the specific language governing permissions and
|
|
|
* limitations under the License.
|
|
|
*/
|
|
|
-package org.apache.hadoop.hdfs;
|
|
|
+package org.apache.hadoop.hdfs.shortcircuit;
|
|
|
+
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_BLOCK_SIZE_KEY;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_CONTEXT;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_DOMAIN_SOCKET_DATA_TRAFFIC;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_KEY;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_SKIP_CHECKSUM_KEY;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DOMAIN_SOCKET_PATH_KEY;
|
|
|
+import static org.hamcrest.CoreMatchers.equalTo;
|
|
|
+
|
|
|
+import java.io.DataOutputStream;
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileInputStream;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import org.apache.commons.lang.mutable.MutableBoolean;
|
|
|
import org.apache.commons.logging.Log;
|
|
@@ -23,18 +39,21 @@ import org.apache.commons.logging.LogFactory;
|
|
|
import org.apache.hadoop.conf.Configuration;
|
|
|
import org.apache.hadoop.fs.FSDataInputStream;
|
|
|
import org.apache.hadoop.fs.Path;
|
|
|
-import org.apache.hadoop.hdfs.ShortCircuitShm.Slot;
|
|
|
-import org.apache.hadoop.hdfs.client.DfsClientShmManager.PerDatanodeVisitorInfo;
|
|
|
-import org.apache.hadoop.hdfs.client.ShortCircuitCache;
|
|
|
-import org.apache.hadoop.hdfs.client.ShortCircuitCache.CacheVisitor;
|
|
|
-import org.apache.hadoop.hdfs.client.ShortCircuitCache.ShortCircuitReplicaCreator;
|
|
|
-import org.apache.hadoop.hdfs.client.DfsClientShmManager.Visitor;
|
|
|
-import org.apache.hadoop.hdfs.client.ShortCircuitReplica;
|
|
|
-import org.apache.hadoop.hdfs.client.ShortCircuitReplicaInfo;
|
|
|
+import org.apache.hadoop.hdfs.BlockReaderTestUtil;
|
|
|
+import org.apache.hadoop.hdfs.DFSInputStream;
|
|
|
+import org.apache.hadoop.hdfs.DFSTestUtil;
|
|
|
+import org.apache.hadoop.hdfs.DistributedFileSystem;
|
|
|
+import org.apache.hadoop.hdfs.ExtendedBlockId;
|
|
|
+import org.apache.hadoop.hdfs.MiniDFSCluster;
|
|
|
import org.apache.hadoop.hdfs.net.DomainPeer;
|
|
|
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
|
|
|
import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
|
|
|
import org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader;
|
|
|
+import org.apache.hadoop.hdfs.shortcircuit.DfsClientShmManager.PerDatanodeVisitorInfo;
|
|
|
+import org.apache.hadoop.hdfs.shortcircuit.DfsClientShmManager.Visitor;
|
|
|
+import org.apache.hadoop.hdfs.shortcircuit.ShortCircuitCache.CacheVisitor;
|
|
|
+import org.apache.hadoop.hdfs.shortcircuit.ShortCircuitCache.ShortCircuitReplicaCreator;
|
|
|
+import org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.Slot;
|
|
|
import org.apache.hadoop.io.IOUtils;
|
|
|
import org.apache.hadoop.net.unix.DomainSocket;
|
|
|
import org.apache.hadoop.net.unix.TemporarySocketDirectory;
|
|
@@ -49,22 +68,6 @@ import org.junit.Test;
|
|
|
import com.google.common.base.Preconditions;
|
|
|
import com.google.common.base.Supplier;
|
|
|
|
|
|
-import java.io.DataOutputStream;
|
|
|
-import java.io.File;
|
|
|
-import java.io.FileInputStream;
|
|
|
-import java.io.FileOutputStream;
|
|
|
-import java.io.IOException;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_BLOCK_SIZE_KEY;
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_CONTEXT;
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DOMAIN_SOCKET_PATH_KEY;
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_KEY;
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_SKIP_CHECKSUM_KEY;
|
|
|
-import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_DOMAIN_SOCKET_DATA_TRAFFIC;
|
|
|
-import static org.hamcrest.CoreMatchers.equalTo;
|
|
|
-
|
|
|
public class TestShortCircuitCache {
|
|
|
static final Log LOG = LogFactory.getLog(TestShortCircuitCache.class);
|
|
|
|
|
@@ -402,7 +405,7 @@ public class TestShortCircuitCache {
|
|
|
cluster.waitActive();
|
|
|
DistributedFileSystem fs = cluster.getFileSystem();
|
|
|
final ShortCircuitCache cache =
|
|
|
- fs.dfs.getClientContext().getShortCircuitCache();
|
|
|
+ fs.getClient().getClientContext().getShortCircuitCache();
|
|
|
cache.getDfsClientShmManager().visit(new Visitor() {
|
|
|
@Override
|
|
|
public void visit(HashMap<DatanodeInfo, PerDatanodeVisitorInfo> info)
|
|
@@ -470,7 +473,7 @@ public class TestShortCircuitCache {
|
|
|
cluster.waitActive();
|
|
|
DistributedFileSystem fs = cluster.getFileSystem();
|
|
|
final ShortCircuitCache cache =
|
|
|
- fs.dfs.getClientContext().getShortCircuitCache();
|
|
|
+ fs.getClient().getClientContext().getShortCircuitCache();
|
|
|
String TEST_FILE = "/test_file";
|
|
|
final int TEST_FILE_LEN = 8193;
|
|
|
final int SEED = 0xFADED;
|