[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312784563 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); + private Properties prop; + + public GoraBenchmarkClient() { + } + + /*** + * Initialisation method. This method is called once for each database + * instance. + */ + public void init() throws DBException { +try { + // Get YCSB properties + prop = getProperties(); + fieldCount = Integer + .parseInt(prop.getProperty(CoreWorkload.FIELD_COUNT_PROPERTY, CoreWorkload.FIELD_COUNT_PROPERTY_DEFAULT)); + String keyClass = prop.getProperty("key.class", "java.lang.String"); + String persistentClass = prop.getProperty("persistent.class", "org.apache.gora.benchmark.generated.User"); + Properties p = DataStoreFactory.createProps(); Review comment: p - Please use proper variable names. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312784193 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); + private Properties prop; + + public GoraBenchmarkClient() { + } + + /*** + * Initialisation method. This method is called once for each database + * instance. + */ + public void init() throws DBException { +try { + // Get YCSB properties + prop = getProperties(); + fieldCount = Integer + .parseInt(prop.getProperty(CoreWorkload.FIELD_COUNT_PROPERTY, CoreWorkload.FIELD_COUNT_PROPERTY_DEFAULT)); + String keyClass = prop.getProperty("key.class", "java.lang.String"); + String persistentClass = prop.getProperty("persistent.class", "org.apache.gora.benchmark.generated.User"); + Properties p = DataStoreFactory.createProps(); + dataStore = DataStoreFactory.getDataStore(keyClass, persistentClass, p, new Configuration()); + synchronized (GoraBenchmarkClient.class) { +if (executed) + return; +executed = true; +goraBenchmarkUtils.generateAvroSchema(fieldCount); +String dataStoreName = goraBenchmarkUtils.getDataStore(p); +goraBenchmarkUtils.generateMappingFile(dataStoreName); +goraBenchmarkUtils.generateDataBeans(); + } +} catch (GoraException e) { + LOG.info("There is a problem in initialising the DataStore \n"+e.getMessage()); Review comment: This code is not formatted correctly. Use always parameterized logging if you want to parameterize the message content. Also we should not omit the exception trace added to to logging. Eg:- LOG.info("There is a problem in initialising the DataStore \n {}", e.getMessage(), e); This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312784413 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); + private Properties prop; + + public GoraBenchmarkClient() { + } + + /*** + * Initialisation method. This method is called once for each database + * instance. Review comment: Please document the exception. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312784282 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; Review comment: Please specify access modifier for this field EG:- private This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312784480 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); + private Properties prop; + + public GoraBenchmarkClient() { + } + + /*** + * Initialisation method. This method is called once for each database + * instance. + */ + public void init() throws DBException { +try { + // Get YCSB properties + prop = getProperties(); + fieldCount = Integer + .parseInt(prop.getProperty(CoreWorkload.FIELD_COUNT_PROPERTY, CoreWorkload.FIELD_COUNT_PROPERTY_DEFAULT)); + String keyClass = prop.getProperty("key.class", "java.lang.String"); + String persistentClass = prop.getProperty("persistent.class", "org.apache.gora.benchmark.generated.User"); + Properties p = DataStoreFactory.createProps(); + dataStore = DataStoreFactory.getDataStore(keyClass, persistentClass, p, new Configuration()); + synchronized (GoraBenchmarkClient.class) { +if (executed) + return; +executed = true; +goraBenchmarkUtils.generateAvroSchema(fieldCount); +String dataStoreName = goraBenchmarkUtils.getDataStore(p); +goraBenchmarkUtils.generateMappingFile(dataStoreName); +goraBenchmarkUtils.generateDataBeans(); + } +} catch (GoraException e) { + LOG.info("There is a problem in initialising the DataStore \n"+e.getMessage()); +} + } + + /** + * Cleanup any state for this DB. + * + * It is very important to close the datastore properly, otherwise some data + * loss might occur. Review comment: Please document the exception. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782893 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); Review comment: Usually we don't instantiate utility classes. Utility classes should only have set of static class level methods, so that you can call without instantiating. Eg:- GoraBenchmarkUtils.generateMappingFile() One attribute of a utility classes is that, it usually never maintain state inside the class. I think we should consider renaming this class appropriately. Otherwise we should consider making all the methods in GoraBenchmarkUtils as static, you should only invoke methods as above. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782893 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); Review comment: Usually we don't instantiate utility classes. Utility classes should only have set of static class level methods, so that you can call without instantiating. Eg:- GoraBenchmarkUtils.generateMappingFile() One attribute of a utility classes is that, it usually never maintain state inside the class. I think we should consider renaming this class appropriately. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312783720 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); + private Properties prop; + + public GoraBenchmarkClient() { + } + + /*** + * Initialisation method. This method is called once for each database + * instance. + */ + public void init() throws DBException { +try { + // Get YCSB properties + prop = getProperties(); + fieldCount = Integer + .parseInt(prop.getProperty(CoreWorkload.FIELD_COUNT_PROPERTY, CoreWorkload.FIELD_COUNT_PROPERTY_DEFAULT)); + String keyClass = prop.getProperty("key.class", "java.lang.String"); + String persistentClass = prop.getProperty("persistent.class", "org.apache.gora.benchmark.generated.User"); + Properties p = DataStoreFactory.createProps(); + dataStore = DataStoreFactory.getDataStore(keyClass, persistentClass, p, new Configuration()); + synchronized (GoraBenchmarkClient.class) { Review comment: I noticed class level synchronization is used here as opposed object level. class level - synchronized (GoraBenchmarkClient.class) { } object level - synchronized (this) { } Can you please explain, why you have chosen class level locking as opposed to object level? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782893 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); Review comment: Usually we don't instantiate utility classes. Utility classes should only have set of static class level methods, you can call without instantiating. Eg:- GoraBenchmarkUtils.generateMappingFile() One attribute of a utility classes is that, it usually never maintain state inside the class. I think we should consider renaming this class appropriately. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782461 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); + User user = new User(); Review comment: Please specify access modifier for this field EG:- private This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782310 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; Review comment: This field can be private access. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312782438 ## File path: gora-benchmark/src/main/java/org/apache/gora/benchmark/GoraBenchmarkClient.java ## @@ -0,0 +1,271 @@ +/** + * 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.gora.benchmark; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import org.apache.gora.query.Query; +import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; +import org.apache.gora.store.DataStoreFactory; +import org.apache.gora.util.GoraException; +import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; +import com.yahoo.ycsb.workloads.CoreWorkload; +import org.apache.gora.benchmark.generated.User; + +/** + * The Class GoraBenchmarkClient + * + * @author sc306 This class extends the Yahoo! Cloud Service Benchmark benchmark + * {@link #com.yahoo.ycsb.DB DB} class to provide functionality for + * {@link #insert(String, String, HashMap) insert}, + * {@link #read(String, String, Set, HashMap) read}, + * {@link #scan(String, String, int, Set, Vector) scan} and + * {@link #update(String, String, HashMap) update} methods as per Apache + * Gora implementation. + */ +public class GoraBenchmarkClient extends DB { + private static final Logger LOG = LoggerFactory.getLogger(GoraBenchmarkClient.class); + private static final String FIELDS[] = User._ALL_FIELDS; + private static volatile boolean executed; + public static int fieldCount; + /** This is only for set to array conversion in {@link read()} method */ + private String[] DUMMY_ARRAY = new String[0]; + DataStore dataStore; + GoraBenchmarkUtils goraBenchmarkUtils = new GoraBenchmarkUtils(); Review comment: Please specify access modifier for this field EG:- private This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312781381 ## File path: gora-benchmark/pom.xml ## @@ -0,0 +1,186 @@ + + +http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd; + xmlns="http://maven.apache.org/POM/4.0.0; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;> + 4.0.0 + +org.apache.gora +gora +0.9-SNAPSHOT + + gora-benchmark + Apache Gora Benchamark Module + http://maven.apache.org + The Apache Gora open source framework provides an in-memory data model and +persistence for big data. Gora supports persisting to column stores, key value stores, +document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce +support. + 2010 + +The Apache Software Foundation +http://www.apache.org/ + + +JIRA +https://issues.apache.org/jira/browse/GORA + + +Jenkins +https://builds.apache.org/job/Gora-trunk/ + + +UTF-8 + + +target +target/classes +${project.artifactId}-${project.version} +target/test-classes +src/test/java +src/main/java + + +${project.basedir}/src/test/conf + + **/* + + + + + +org.codehaus.mojo +build-helper-maven-plugin +${build-helper-maven-plugin.version} + + +generate-sources + + add-source + + + +src/examples/java + + + + + + + + + + + com.yahoo.ycsb + core + 0.15.0 + + + + org.apache.gora + gora-core + compile + + + + + org.apache.gora + gora-mongodb + + + + org.apache.gora + gora-hbase + + + + org.apache.gora + gora-jcache + + + + org.apache.gora + gora-couchdb + + + + org.apache.gora + gora-cassandra + + + + org.apache.gora + gora-solr + + + + org.apache.gora + gora-aerospike + + + + org.apache.avro + avro + compile + + + + gora-compiler + org.apache.gora + + + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + + javax.jms + jms + + + + + + + org.apache.hadoop + hadoop-client + compile + true + + + + org.fluttercode.datafactory + datafactory + 0.8 Review comment: Please define the dependencies and versions in parent pom. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312781462 ## File path: gora-benchmark/pom.xml ## @@ -0,0 +1,186 @@ + + +http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd; + xmlns="http://maven.apache.org/POM/4.0.0; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;> + 4.0.0 + +org.apache.gora +gora +0.9-SNAPSHOT + + gora-benchmark + Apache Gora Benchamark Module + http://maven.apache.org + The Apache Gora open source framework provides an in-memory data model and +persistence for big data. Gora supports persisting to column stores, key value stores, +document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce +support. + 2010 + +The Apache Software Foundation +http://www.apache.org/ + + +JIRA +https://issues.apache.org/jira/browse/GORA + + +Jenkins +https://builds.apache.org/job/Gora-trunk/ + + +UTF-8 + + +target +target/classes +${project.artifactId}-${project.version} +target/test-classes +src/test/java +src/main/java + + +${project.basedir}/src/test/conf + + **/* + + + + + +org.codehaus.mojo +build-helper-maven-plugin +${build-helper-maven-plugin.version} + + +generate-sources + + add-source + + + +src/examples/java + + + + + + + + + + + com.yahoo.ycsb + core + 0.15.0 + + + + org.apache.gora + gora-core + compile + + + + + org.apache.gora + gora-mongodb + + + + org.apache.gora + gora-hbase + + + + org.apache.gora + gora-jcache + + + + org.apache.gora + gora-couchdb + + + + org.apache.gora + gora-cassandra + + + + org.apache.gora + gora-solr + + + + org.apache.gora + gora-aerospike + + + + org.apache.avro + avro + compile + + + + gora-compiler + org.apache.gora + + + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + + javax.jms + jms + + + + + + + org.apache.hadoop + hadoop-client + compile + true + + + + org.fluttercode.datafactory + datafactory + 0.8 + + + + junit + junit + test + + + + + org.ektorp + org.ektorp + 1.4.2 Review comment: Please define the dependencies and versions in parent pom. In this case use CoughDB client version already defined in the parent pom. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312781204 ## File path: gora-benchmark/gora-workloada.csv ## @@ -0,0 +1,251 @@ +records,timems,recordsk,timesec,platform Review comment: May be we should consider moving these csv resources to single folder? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312780663 ## File path: gora-benchmark/gora-bench.sh ## @@ -0,0 +1,75 @@ +#!/bin/bash + +# 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. + +#Adapted from YCSB's version of ycsb.sh. +CLASSPATH="." Review comment: What's your thoughts on moving gora-bench.sh script to GORA_HOME/bin, this is where we keep all the executable scripts. One possible option is to merge with current gora.sh, however think keeping it separately is much cleaner approach. Let us know your thoughts. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312780949 ## File path: gora-benchmark/pom.xml ## @@ -0,0 +1,186 @@ + + +http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd; + xmlns="http://maven.apache.org/POM/4.0.0; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;> + 4.0.0 + +org.apache.gora +gora +0.9-SNAPSHOT + + gora-benchmark Review comment: Currently you have not added the new benchmark module to parent pom under modules section, that means this module is omitted when entire project is built from root parent pom. EG:- ``` gora-compiler gora-compiler-cli gora-core gora-pig gora-accumulo gora-cassandra gora-goraci gora-hbase gora-infinispan gora-jcache gora-orientdb gora-lucene gora-dynamodb gora-couchdb gora-maven-plugin gora-mongodb gora-solr gora-aerospike gora-ignite gora-tutorial gora-benchmark sources-dist ``` I think we once we have these YCSB artifacts from maven central, we can enable benchmark module to build process. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments
djkevincr commented on a change in pull request #179: GORA-532: Apache Gora Benchmark initial pull request for review and comments URL: https://github.com/apache/gora/pull/179#discussion_r312780225 ## File path: gora-benchmark/pom.xml ## @@ -0,0 +1,186 @@ + + +http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd; + xmlns="http://maven.apache.org/POM/4.0.0; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;> + 4.0.0 + +org.apache.gora +gora +0.9-SNAPSHOT + + gora-benchmark + Apache Gora Benchamark Module + http://maven.apache.org + The Apache Gora open source framework provides an in-memory data model and +persistence for big data. Gora supports persisting to column stores, key value stores, +document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce +support. + 2010 + +The Apache Software Foundation +http://www.apache.org/ + + +JIRA +https://issues.apache.org/jira/browse/GORA + + +Jenkins +https://builds.apache.org/job/Gora-trunk/ + + +UTF-8 + + +target +target/classes +${project.artifactId}-${project.version} +target/test-classes +src/test/java +src/main/java + + +${project.basedir}/src/test/conf + + **/* + + + + + +org.codehaus.mojo +build-helper-maven-plugin +${build-helper-maven-plugin.version} + + +generate-sources + + add-source + + + +src/examples/java + + + + + + + + + + + com.yahoo.ycsb + core + 0.15.0 Review comment: I think you should define these version in parent pom, define YCSB dependency parent pom it self and inherit UCSB dependency for module gora-benchmark. Currently this is hardcoded to benchmark module. Please check approach on other modules. Once the YCSB artifacts are available from maven central, you can address this additionally. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr commented on issue #185: GORA-622 maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87)
djkevincr commented on issue #185: GORA-622 maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87) URL: https://github.com/apache/gora/pull/185#issuecomment-520291379 @lewismc Shall we call off RC2 and add this to 0.9 release? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] lewismc opened a new pull request #185: GORA-622 maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87)
lewismc opened a new pull request #185: GORA-622 maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87) URL: https://github.com/apache/gora/pull/185 This pr addresses https://issues.apache.org/jira/browse/GORA-622 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Created] (GORA-622) maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87)
Lewis John McGibbney created GORA-622: - Summary: maven-assemly-plugin complains that group id is too big and fails build on macOS Mojave 10.14.6 (18G87) Key: GORA-622 URL: https://issues.apache.org/jira/browse/GORA-622 Project: Apache Gora Issue Type: Bug Components: build process Affects Versions: 0.9 Environment: macOS Mojave 10.14.6 (18G87) Gora master branch d9b4b8eb73c84806971a7375fe35c038a0a10197 Reporter: Lewis John McGibbney Assignee: Lewis John McGibbney Fix For: 0.9 Building Gora branch under system detailed in the environment, I experience very similar results to what is described at OPENNLP-998 Pull request coming up to upgrade the maven-assemly-plugin and then specify posix -- This message was sent by Atlassian JIRA (v7.6.14#76016)
Re: Week 11 Report
An excellent week of work Sheriffo good job. I’ll pull your code and run it locally. I’ll then update JIra with the results. Thanks On Sun, Aug 11, 2019 at 15:01 Sheriffo Ceesay wrote: > All, > > Week 11 report of [1] is available at > https://cwiki.apache.org/confluence/display/GORA/%5BGORA-532%5D+Apache+Gora+Benchmark+Module+Weekly+Report > > Basically, I have worked on the comments on the pull request [2]. It will > be great if someone can run my code locally to see if there are any issues. > You can use the README file in the project root directory. > > We have reported an issue and the maintainers of YCSB are working on it to > get it resolved [3]. > > [1] https://github.com/sneceesay77/gora/tree/GORA-532 > [2] https://github.com/apache/gora/pull/179 > [3] https://github.com/brianfrankcooper/YCSB/issues/1340 > > Thank you. > > **Sheriffo Ceesay** > -- http://home.apache.org/~lewismc/ http://people.apache.org/keys/committer/lewismc
[VOTE] RC02 for Apache Gora 0.9 Release
Hi all, This is the vote on second release candidate (RC02) for next Apache Gora release version 0.9. The VOTE will remain open for at least 72 hours. [ ] +1 Release this package as Apache Gora 0.9 … [ ] -1 Do not release this package because … 47 tickets were resolved and release report is available here : https://s.apache.org/0.9GoraReleaseNotes Source release artifacts are available here : https://dist.apache.org/repos/dist/dev/gora/apache-gora-0.9-RC02/ Staging repository is available here : https://repository.apache.org/content/repositories/orgapachegora-1011 Release candidate is signed through the key A3E66AC7 which is available here : https://dist.apache.org/repos/dist/dev/gora/KEYS The release candidate is based on the sources tagged with apache-gora-0.9: https://gitbox.apache.org/repos/asf?p=gora.git;a=tag;h=310ee089d1993182455462676214ce5107a39329 and is based on the following commit id: f193ce284d0a6dbb9c988584e7f883c9aaa94885 Thank you to everyone contributed to Apache Gora 0.9 and who are able to vote on the release candidate. PS: My vote is `[x] +1 Release this package as Apache Gora 0.9`. Regards Kevin
Week 11 Report
All, Week 11 report of [1] is available at https://cwiki.apache.org/confluence/display/GORA/%5BGORA-532%5D+Apache+Gora+Benchmark+Module+Weekly+Report Basically, I have worked on the comments on the pull request [2]. It will be great if someone can run my code locally to see if there are any issues. You can use the README file in the project root directory. We have reported an issue and the maintainers of YCSB are working on it to get it resolved [3]. [1] https://github.com/sneceesay77/gora/tree/GORA-532 [2] https://github.com/apache/gora/pull/179 [3] https://github.com/brianfrankcooper/YCSB/issues/1340 Thank you. **Sheriffo Ceesay**
[jira] [Commented] (GORA-621) Remove log4j 2 transitive dependencies inheriting from solr-core dependency
[ https://issues.apache.org/jira/browse/GORA-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16904711#comment-16904711 ] Hudson commented on GORA-621: - SUCCESS: Integrated in Jenkins build gora-trunk #1807 (See [https://builds.apache.org/job/gora-trunk/1807/]) GORA-621: Remove log4j 2 transitive dependencies from solr core (djkevincr: rev 60bcac3e346eee8ee1c7a7119c1b29f931603a55) * (edit) gora-solr/pom.xml * (edit) gora-tutorial/pom.xml > Remove log4j 2 transitive dependencies inheriting from solr-core dependency > -- > > Key: GORA-621 > URL: https://issues.apache.org/jira/browse/GORA-621 > Project: Apache Gora > Issue Type: Bug > Components: build process >Affects Versions: 0.8 >Reporter: Kevin Ratnasekera >Assignee: Kevin Ratnasekera >Priority: Major > Fix For: 0.9 > > Time Spent: 20m > Remaining Estimate: 0h > > We observed there are number of log4j dependencies added to classpath due to > transitivity. > Until we do a proper log4j upgrade, we should remove log4j 2 dependencies > from classpath inheriting from transitive dependencies. Current we have > log4j version 1.x.x defined at parent pom and it is used over the entire set > of modules. Similar issues reported at [1] due to multiple log4j > implementations. > [1] https://issues.apache.org/jira/browse/GORA-616 -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (GORA-615) Update gora-tutorial pom to include mongodb
[ https://issues.apache.org/jira/browse/GORA-615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16904706#comment-16904706 ] Kevin Ratnasekera commented on GORA-615: Thank you [~Sheriffo] for the PR. > Update gora-tutorial pom to include mongodb > --- > > Key: GORA-615 > URL: https://issues.apache.org/jira/browse/GORA-615 > Project: Apache Gora > Issue Type: Improvement > Components: gora-tutorial >Affects Versions: 0.9 >Reporter: Sheriffo Ceesay >Assignee: Sheriffo Ceesay >Priority: Minor > Labels: easyfix > Fix For: 0.9 > > Time Spent: 1h > Remaining Estimate: 0h > > gora-turorial module does not include gora-mongodb module. Would be good have > this out of the box. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Resolved] (GORA-615) Update gora-tutorial pom to include mongodb
[ https://issues.apache.org/jira/browse/GORA-615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Ratnasekera resolved GORA-615. Resolution: Fixed > Update gora-tutorial pom to include mongodb > --- > > Key: GORA-615 > URL: https://issues.apache.org/jira/browse/GORA-615 > Project: Apache Gora > Issue Type: Improvement > Components: gora-tutorial >Affects Versions: 0.9 >Reporter: Sheriffo Ceesay >Assignee: Sheriffo Ceesay >Priority: Minor > Labels: easyfix > Fix For: 0.9 > > Time Spent: 1h > Remaining Estimate: 0h > > gora-turorial module does not include gora-mongodb module. Would be good have > this out of the box. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Resolved] (GORA-621) Remove log4j 2 transitive dependencies inheriting from solr-core dependency
[ https://issues.apache.org/jira/browse/GORA-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Ratnasekera resolved GORA-621. Resolution: Fixed > Remove log4j 2 transitive dependencies inheriting from solr-core dependency > -- > > Key: GORA-621 > URL: https://issues.apache.org/jira/browse/GORA-621 > Project: Apache Gora > Issue Type: Bug > Components: build process >Affects Versions: 0.8 >Reporter: Kevin Ratnasekera >Assignee: Kevin Ratnasekera >Priority: Major > Fix For: 0.9 > > Time Spent: 20m > Remaining Estimate: 0h > > We observed there are number of log4j dependencies added to classpath due to > transitivity. > Until we do a proper log4j upgrade, we should remove log4j 2 dependencies > from classpath inheriting from transitive dependencies. Current we have > log4j version 1.x.x defined at parent pom and it is used over the entire set > of modules. Similar issues reported at [1] due to multiple log4j > implementations. > [1] https://issues.apache.org/jira/browse/GORA-616 -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[GitHub] [gora] djkevincr merged pull request #184: GORA-621: Remove log4j 2 transitive dependencies from solr core
djkevincr merged pull request #184: GORA-621: Remove log4j 2 transitive dependencies from solr core URL: https://github.com/apache/gora/pull/184 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [gora] djkevincr opened a new pull request #184: GORA-621: Remove log4j 2 transitive dependencies from solr core
djkevincr opened a new pull request #184: GORA-621: Remove log4j 2 transitive dependencies from solr core URL: https://github.com/apache/gora/pull/184 We observed there are number of log4j dependencies added to classpath due to transitivity. Until we do a proper log4j upgrade, we should remove log4j 2 dependencies from classpath inheriting from transitive dependencies. Current we have log4j version 1.x.x defined at parent pom and it is used over the entire set of modules. Similar issues reported at [1] due to multiple log4j implementations. [1] https://issues.apache.org/jira/browse/GORA-616 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Updated] (GORA-621) Remove log4j 2 transitive dependencies inheriting from solr-core dependency
[ https://issues.apache.org/jira/browse/GORA-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Ratnasekera updated GORA-621: --- Description: We observed there are number of log4j dependencies added to classpath due to transitivity. Until we do a proper log4j upgrade, we should remove log4j 2 dependencies from classpath inheriting from transitive dependencies. Current we have log4j version 1.x.x defined at parent pom and it is used over the entire set of modules. Similar issues reported at [1] due to multiple log4j implementations. [1] https://issues.apache.org/jira/browse/GORA-616 was: We observed there are number of log4j dependencies added to classpath due to transitivity. Until we do a proper log4j upgrade we should remove log4j 2 dependencies from classpath inheriting from transitive dependencies. Current we have log4j version 1.x.x defined at parent pom and it is used over the entire set of modules. Similar issues reported at [1] due to multiple log4j implementations. [1] https://issues.apache.org/jira/browse/GORA-616 > Remove log4j 2 transitive dependencies inheriting from solr-core dependency > -- > > Key: GORA-621 > URL: https://issues.apache.org/jira/browse/GORA-621 > Project: Apache Gora > Issue Type: Bug > Components: build process >Affects Versions: 0.8 >Reporter: Kevin Ratnasekera >Assignee: Kevin Ratnasekera >Priority: Major > Fix For: 0.9 > > > We observed there are number of log4j dependencies added to classpath due to > transitivity. > Until we do a proper log4j upgrade, we should remove log4j 2 dependencies > from classpath inheriting from transitive dependencies. Current we have > log4j version 1.x.x defined at parent pom and it is used over the entire set > of modules. Similar issues reported at [1] due to multiple log4j > implementations. > [1] https://issues.apache.org/jira/browse/GORA-616 -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (GORA-621) Remove log4j 2 transitive dependencies inheriting from solr-core dependency
Kevin Ratnasekera created GORA-621: -- Summary: Remove log4j 2 transitive dependencies inheriting from solr-core dependency Key: GORA-621 URL: https://issues.apache.org/jira/browse/GORA-621 Project: Apache Gora Issue Type: Bug Components: build process Affects Versions: 0.8 Reporter: Kevin Ratnasekera Assignee: Kevin Ratnasekera Fix For: 0.9 We observed there are number of log4j dependencies added to classpath due to transitivity. Until we do a proper log4j upgrade we should remove log4j 2 dependencies from classpath inheriting from transitive dependencies. Current we have log4j version 1.x.x defined at parent pom and it is used over the entire set of modules. Similar issues reported at [1] due to multiple log4j implementations. [1] https://issues.apache.org/jira/browse/GORA-616 -- This message was sent by Atlassian JIRA (v7.6.14#76016)