You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@crail.apache.org by as...@apache.org on 2018/02/28 09:51:46 UTC
incubator-crail git commit: Fixes issue with local short circuit
(memcpy) path in the RDMA storage tier - mmaped buffers were previously
indexed with wrong LBA in RdmaStorageLocalEndpoint
Repository: incubator-crail
Updated Branches:
refs/heads/master 8f812810f -> baab8d06e
Fixes issue with local short circuit (memcpy) path in the RDMA storage
tier
- mmaped buffers were previously indexed with wrong LBA in
RdmaStorageLocalEndpoint
This fixes the CRAIL-3 JIRA ticket
https://issues.apache.org/jira/browse/CRAIL-3
Close #8
Signed-off-by: Patrick Stuedi <ps...@apache.org>
Signed-off-by: Adrian Schuepbach <as...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-crail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-crail/commit/baab8d06
Tree: http://git-wip-us.apache.org/repos/asf/incubator-crail/tree/baab8d06
Diff: http://git-wip-us.apache.org/repos/asf/incubator-crail/diff/baab8d06
Branch: refs/heads/master
Commit: baab8d06e4237e039dd51ba94178a09dc7ce8c6f
Parents: 8f81281
Author: Patrick Stuedi <ps...@apache.org>
Authored: Wed Feb 28 09:41:47 2018 +0100
Committer: Adrian Schuepbach <dr...@zurich.ibm.com>
Committed: Wed Feb 28 10:46:44 2018 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/crail/conf/CrailConstants.java | 2 +-
.../crail/storage/rdma/client/RdmaStorageLocalEndpoint.java | 9 ++++-----
2 files changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/baab8d06/client/src/main/java/org/apache/crail/conf/CrailConstants.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/crail/conf/CrailConstants.java b/client/src/main/java/org/apache/crail/conf/CrailConstants.java
index 4536809..4628906 100644
--- a/client/src/main/java/org/apache/crail/conf/CrailConstants.java
+++ b/client/src/main/java/org/apache/crail/conf/CrailConstants.java
@@ -28,7 +28,7 @@ public class CrailConstants {
private static final Logger LOG = CrailUtils.getLogger();
public static final String VERSION_KEY = "crail.version";
- public static int VERSION = 3003;
+ public static int VERSION = 3004;
public static final String DIRECTORY_DEPTH_KEY = "crail.directorydepth";
public static int DIRECTORY_DEPTH = 16;
http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/baab8d06/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
----------------------------------------------------------------------
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
index 8fe1a19..bceed1f 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
@@ -61,11 +61,10 @@ public class RdmaStorageLocalEndpoint implements StorageEndpoint {
this.address = datanodeAddr;
this.bufferMap = new ConcurrentHashMap<Long, CrailBuffer>();
this.unsafe = getUnsafe();
- long lba = 0;
for (File dataFile : dataDir.listFiles()) {
- MappedByteBuffer mappedBuffer = mmap(dataFile);
- bufferMap.put(lba, OffHeapBuffer.wrap(mappedBuffer));
- lba += mappedBuffer.capacity();
+ long lba = Long.parseLong(dataFile.getName());
+ OffHeapBuffer offHeapBuffer = OffHeapBuffer.wrap(mmap(dataFile));
+ bufferMap.put(lba, offHeapBuffer);
}
}
@@ -134,7 +133,7 @@ public class RdmaStorageLocalEndpoint implements StorageEndpoint {
}
private static long getAlignedLba(long remoteLba){
- return (remoteLba / RdmaConstants.STORAGE_RDMA_ALLOCATION_SIZE) * RdmaConstants.STORAGE_RDMA_ALLOCATION_SIZE;
+ return remoteLba / RdmaConstants.STORAGE_RDMA_ALLOCATION_SIZE;
}
private static long getLbaOffset(long remoteLba){