Repository: incubator-crail
Updated Branches:
  refs/heads/master 45823af26 -> 7ea8753a6


DataNodeInfo.key() was not updated when the object got updated, this is
fixed now.

https://issues.apache.org/jira/browse/CRAIL-8

Close #4

Signed-off-by: Jonas Pfefferle <peppe...@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/7ea8753a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-crail/tree/7ea8753a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-crail/diff/7ea8753a

Branch: refs/heads/master
Commit: 7ea8753a64d2a1124de36f799471b0b3c2195f79
Parents: 45823af
Author: Patrick Stuedi <s...@zurich.ibm.com>
Authored: Thu Feb 22 16:59:08 2018 +0100
Committer: Jonas Pfefferle <peppe...@apache.org>
Committed: Fri Feb 23 10:31:36 2018 +0100

----------------------------------------------------------------------
 .../org/apache/crail/metadata/DataNodeInfo.java |  4 ++-
 .../crail/storage/tcp/TcpStorageConstants.java  | 35 ++++++++++++++++++++
 .../crail/storage/tcp/TcpStorageServer.java     |  2 +-
 3 files changed, 39 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/7ea8753a/client/src/main/java/org/apache/crail/metadata/DataNodeInfo.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/crail/metadata/DataNodeInfo.java 
b/client/src/main/java/org/apache/crail/metadata/DataNodeInfo.java
index 0574ec7..7dade79 100644
--- a/client/src/main/java/org/apache/crail/metadata/DataNodeInfo.java
+++ b/client/src/main/java/org/apache/crail/metadata/DataNodeInfo.java
@@ -67,6 +67,7 @@ public class DataNodeInfo {
                        this.ipAddress[i] = info.getIpAddress()[i];
                }               
                this.port = info.getPort();
+               this.key = 0;
        }
 
        public int write(ByteBuffer buffer){
@@ -84,6 +85,7 @@ public class DataNodeInfo {
                this.locationClass = buffer.getInt();
                buffer.get(ipAddress);
                this.port = buffer.getInt();
+               this.key = 0;
        }       
        
        public byte[] getIpAddress() {
@@ -119,6 +121,6 @@ public class DataNodeInfo {
                return "DataNodeInfo [storageType=" + storageType + ", 
storageClass="
                                + storageClass + ", locationClass=" + 
locationClass
                                + ", ipAddress=" + Arrays.toString(ipAddress) + 
", port="
-                               + port + ", key=" + key + "]";
+                               + port + ", key=" + key() + "]";
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/7ea8753a/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 1cbc6a1..55c882e 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
@@ -19,11 +19,22 @@
 
 package org.apache.crail.storage.tcp;
 
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
 import org.apache.crail.conf.CrailConfiguration;
 import org.apache.crail.conf.CrailConstants;
+import org.apache.crail.utils.CrailUtils;
 import org.slf4j.Logger;
+import java.util.Arrays;
 
 public class TcpStorageConstants {
+       private static final Logger LOG = CrailUtils.getLogger();
+       
        public static final String STORAGE_TCP_INTERFACE_KEY = 
"crail.storage.tcp.interface";
        public static String STORAGE_TCP_INTERFACE = "eth0";
        
@@ -42,6 +53,30 @@ public class TcpStorageConstants {
        public static final String STORAGE_TCP_QUEUE_DEPTH_KEY = 
"crail.storage.tcp.queuedepth";
        public static int STORAGE_TCP_QUEUE_DEPTH = 16; 
        
+    public static void init(CrailConfiguration conf, String[] args) throws 
Exception {
+        if (args != null) {
+                Option portOption = Option.builder("p").desc("port to start 
server on").hasArg().build();
+                Options options = new Options();
+                options.addOption(portOption);
+                CommandLineParser parser = new DefaultParser();
+
+                try {
+                        CommandLine line = parser.parse(options, 
Arrays.copyOfRange(args, 0, args.length));
+                        if (line.hasOption(portOption.getOpt())) {
+                                String port = 
line.getOptionValue(portOption.getOpt());
+                                LOG.info("using custom port " + port);
+                                
conf.set(TcpStorageConstants.STORAGE_TCP_PORT_KEY, port);
+                        }
+                } catch (ParseException e) {
+                        HelpFormatter formatter = new HelpFormatter();
+                        formatter.printHelp("RDMA storage tier", options);
+                        System.exit(-1);
+                }
+        }
+
+        TcpStorageConstants.updateConstants(conf);
+    }
+       
        public static void updateConstants(CrailConfiguration conf){
                if (conf.get(STORAGE_TCP_INTERFACE_KEY) != null) {
                        STORAGE_TCP_INTERFACE = 
conf.get(STORAGE_TCP_INTERFACE_KEY);

http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/7ea8753a/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 83b5eb9..9ed2260 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
@@ -59,7 +59,7 @@ public class TcpStorageServer implements Runnable, 
StorageServer, NaRPCService<T
        
        @Override
        public void init(CrailConfiguration conf, String[] args) throws 
Exception {
-               TcpStorageConstants.updateConstants(conf);
+               TcpStorageConstants.init(conf, args);
                
                this.serverGroup = new NaRPCServerGroup<TcpStorageRequest, 
TcpStorageResponse>(this, TcpStorageConstants.STORAGE_TCP_QUEUE_DEPTH, (int) 
CrailConstants.BLOCK_SIZE*2, false);
                this.serverEndpoint = serverGroup.createServerEndpoint();

Reply via email to