Repository: incubator-crail Updated Branches: refs/heads/master 0db64fdda -> 46925ad19
Make default configuration easier to run Better default values for cachepath and tcp storage path. Throw an exception if paths are invalid. Throw an exception if interface is invalid. Trim down crail-site.conf.template to only include the necessary parameters. https://issues.apache.org/jira/browse/CRAIL-15 Signed-off-by: Patrick Stuedi <pstu...@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/84f608e5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-crail/tree/84f608e5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-crail/diff/84f608e5 Branch: refs/heads/master Commit: 84f608e542d6eed044bdf12ef45616ec645f7a4d Parents: 0db64fd Author: Patrick Stuedi <pstu...@apache.org> Authored: Tue Jun 19 15:21:07 2018 +0200 Committer: Patrick Stuedi <pstu...@apache.org> Committed: Tue Jun 19 15:21:07 2018 +0200 ---------------------------------------------------------------------- .../main/java/org/apache/crail/CrailStore.java | 2 +- .../org/apache/crail/conf/CrailConstants.java | 10 +++++----- .../apache/crail/memory/MappedBufferCache.java | 4 +++- conf/core-site.xml.template | 2 +- conf/crail-site.conf.template | 19 ++++++------------- .../crail/storage/tcp/TcpStorageConstants.java | 2 +- .../crail/storage/tcp/TcpStorageServer.java | 16 +++++++++++----- .../apache/crail/storage/rdma/RdmaConstants.java | 2 +- 8 files changed, 29 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/client/src/main/java/org/apache/crail/CrailStore.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/crail/CrailStore.java b/client/src/main/java/org/apache/crail/CrailStore.java index 5f9a229..cb91b7e 100644 --- a/client/src/main/java/org/apache/crail/CrailStore.java +++ b/client/src/main/java/org/apache/crail/CrailStore.java @@ -69,7 +69,7 @@ public abstract class CrailStore { public static CrailStore newInstance(CrailConfiguration conf) throws Exception { synchronized(referenceCounter){ - boolean isSingleton = conf.getBoolean(CrailConstants.SINGLETON_KEY, false); + boolean isSingleton = conf.getBoolean(CrailConstants.SINGLETON_KEY, CrailConstants.SINGLETON); if (isSingleton) { referenceCounter.incrementAndGet(); if (instance == null) { http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/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 56d99db..733d622 100644 --- a/client/src/main/java/org/apache/crail/conf/CrailConstants.java +++ b/client/src/main/java/org/apache/crail/conf/CrailConstants.java @@ -36,16 +36,16 @@ public class CrailConstants { public static long TOKEN_EXPIRATION = 10; public static final String BLOCK_SIZE_KEY = "crail.blocksize"; - public static long BLOCK_SIZE = 67108864; + public static long BLOCK_SIZE = 1048576; public static final String CACHE_LIMIT_KEY = "crail.cachelimit"; public static long CACHE_LIMIT = 1073741824; public static final String CACHE_PATH_KEY = "crail.cachepath"; - public static String CACHE_PATH = "/home/stu/craildata/cache"; + public static String CACHE_PATH = "/dev/hugepages/cache"; public static final String USER_KEY = "crail.user"; - public static String USER = "stu"; + public static String USER = "crail"; public static final String SHADOW_REPLICATION_KEY = "crail.shadowreplication"; public static int SHADOW_REPLICATION = 1; @@ -69,7 +69,7 @@ public class CrailConstants { public static int SLICE_SIZE = 524288; public static final String SINGLETON_KEY = "crail.singleton"; - public static boolean SINGLETON = false; + public static boolean SINGLETON = true; public static final String REGION_SIZE_KEY = "crail.regionsize"; public static long REGION_SIZE = 1073741824; @@ -88,7 +88,7 @@ public class CrailConstants { //namenode interface public static final String NAMENODE_ADDRESS_KEY = "crail.namenode.address"; - public static String NAMENODE_ADDRESS = ""; + public static String NAMENODE_ADDRESS = "crail://localhost:9060"; public static final String NAMENODE_FILEBLOCKS_KEY = "crail.namenode.fileblocks"; public static int NAMENODE_FILEBLOCKS = 16; http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/client/src/main/java/org/apache/crail/memory/MappedBufferCache.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/crail/memory/MappedBufferCache.java b/client/src/main/java/org/apache/crail/memory/MappedBufferCache.java index bc78afe..429bbe0 100644 --- a/client/src/main/java/org/apache/crail/memory/MappedBufferCache.java +++ b/client/src/main/java/org/apache/crail/memory/MappedBufferCache.java @@ -54,7 +54,9 @@ public class MappedBufferCache extends BufferCache { directory = CrailUtils.getCacheDirectory(id); dir = new File(directory); if (!dir.exists()){ - dir.mkdirs(); + if (!dir.mkdirs()) { + throw new IOException("Cannot create cache directory [crail.cachepath] set to path " + directory + ", check if crail.cachepath exists and has write permissions"); + } } for (File child : dir.listFiles()) { child.delete(); http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/conf/core-site.xml.template ---------------------------------------------------------------------- diff --git a/conf/core-site.xml.template b/conf/core-site.xml.template index 1126e57..ec7e64f 100644 --- a/conf/core-site.xml.template +++ b/conf/core-site.xml.template @@ -23,7 +23,7 @@ </property> <property> <name>fs.defaultFS</name> - <value>crail://hostname:9060</value> + <value>crail://localhost:9060</value> </property> <property> <name>fs.AbstractFileSystem.crail.impl</name> http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/conf/crail-site.conf.template ---------------------------------------------------------------------- diff --git a/conf/crail-site.conf.template b/conf/crail-site.conf.template index 1159dc0..a375dc8 100644 --- a/conf/crail-site.conf.template +++ b/conf/crail-site.conf.template @@ -1,14 +1,7 @@ -crail.blocksize 1048576 -crail.buffersize 1048576 -crail.slicesize 524288 -crail.regionsize 1073741824 -crail.cachelimit 1073741824 -crail.cachepath /dev/hugepages/cache -crail.singleton true -crail.statistics true -crail.namenode.address crail://localhost:9060 -crail.namenode.blockselection roundrobin -crail.namenode.darpc.queuesize 64 -crail.namenode.darpc.polling false -crail.storage.types org.apache.crail.storage.tcp.TcpStorageTier +crail.namenode.address crail://localhost:9060 +crail.cachepath /dev/hugepages/cache +crail.cachelimit 1073741824 +crail.storage.tcp.interface eth0 +crail.storage.tcp.datapath /dev/hugepages/data +crail.storage.tcp.storagelimit 1073741824 http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageConstants.java ---------------------------------------------------------------------- diff --git a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageConstants.java b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageConstants.java index 92ba236..a883453 100644 --- a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageConstants.java +++ b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageConstants.java @@ -47,7 +47,7 @@ public class TcpStorageConstants { public static long STORAGE_TCP_ALLOCATION_SIZE = CrailConstants.REGION_SIZE; public static final String STORAGE_TCP_DATA_PATH_KEY = "crail.storage.tcp.datapath"; - public static String STORAGE_TCP_DATA_PATH = "/home/stu/craildata/data"; + public static String STORAGE_TCP_DATA_PATH = "/dev/hugepages/data"; public static final String STORAGE_TCP_QUEUE_DEPTH_KEY = "crail.storage.tcp.queuedepth"; public static int STORAGE_TCP_QUEUE_DEPTH = 16; http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java ---------------------------------------------------------------------- diff --git a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java index 6c8211c..4685607 100644 --- a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java +++ b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java @@ -167,7 +167,7 @@ public class TcpStorageServer implements Runnable, StorageServer, NaRPCService<T NetworkInterface netif = NetworkInterface.getByName(ifname); if (netif == null){ - return null; + throw new IOException("Cannot find network interface with name " + TcpStorageConstants.STORAGE_TCP_INTERFACE); } List<InterfaceAddress> addresses = netif.getInterfaceAddresses(); InetAddress addr = null; @@ -176,13 +176,19 @@ public class TcpStorageServer implements Runnable, StorageServer, NaRPCService<T InetAddress _addr = address.getAddress(); addr = _addr; } - } + } + + if (addr == null){ + throw new IOException("Cannot find valid network interface with name " + TcpStorageConstants.STORAGE_TCP_INTERFACE); + } InetSocketAddress inetAddr = new InetSocketAddress(addr, port); return inetAddr; } - public static String getDatanodeDirectory(InetSocketAddress inetAddress){ - String address = inetAddress.getAddress().toString(); - return TcpStorageConstants.STORAGE_TCP_DATA_PATH + address + "-" + inetAddress.getPort(); + public static String getDatanodeDirectory(InetSocketAddress address) throws IllegalArgumentException { + if (address == null) { + throw new IllegalArgumentException("Address paramater cannot be null!"); + } + return TcpStorageConstants.STORAGE_TCP_DATA_PATH + address.getAddress() + "-" + address.getPort(); } } http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/84f608e5/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaConstants.java ---------------------------------------------------------------------- diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaConstants.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaConstants.java index 6a54509..af11096 100644 --- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaConstants.java +++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaConstants.java @@ -49,7 +49,7 @@ public class RdmaConstants { public static long STORAGE_RDMA_ALLOCATION_SIZE = CrailConstants.REGION_SIZE; public static final String STORAGE_RDMA_DATA_PATH_KEY = "crail.storage.rdma.datapath"; - public static String STORAGE_RDMA_DATA_PATH = "/home/stu/craildata/data"; + public static String STORAGE_RDMA_DATA_PATH = "/dev/hugepages/data"; public static final String STORAGE_RDMA_LOCAL_MAP_KEY = "crail.storage.rdma.localmap"; public static boolean STORAGE_RDMA_LOCAL_MAP = true;