[GitHub] ctubbsii commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #337: ACCUMULO-4732 No APIs to 
configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158184648
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -217,17 +215,19 @@ public NewTableConfiguration 
attachIterator(IteratorSetting setting) throws Accu
*  object specifying the properties of the iterator
* @param scopes
*  enumerated set of iterator scopes
-   * @throws AccumuloException
-   *   if a general error occurs
*
* @since 2.0.0
*
* @see TableOperations#attachIterator(String, IteratorSetting, EnumSet)
*/
-  public NewTableConfiguration attachIterator(IteratorSetting setting, 
EnumSet scopes) throws AccumuloException {
+  public NewTableConfiguration attachIterator(IteratorSetting setting, 
EnumSet scopes) {
 Objects.requireNonNull(setting, "setting cannot be null!");
 Objects.requireNonNull(scopes, "scopes cannot be null!");
-TableOperationsHelper.checkIteratorConflicts(iteratorProps, setting, 
scopes);
+try {
+  TableOperationsHelper.checkIteratorConflicts(iteratorProps, setting, 
scopes);
+} catch (AccumuloException e) {
+  throw new IllegalArgumentException(e.getMessage());
 
 Review comment:
   Would it be better to convert from AccEx to IAE, as is done here, or would 
it be better to provide a new message, and retain the original stack trace, as 
in the following?
   `throw new IllegalArgumentException("The specified IteratorSetting conflicts 
with an iterator already defined on this NewTableConfiguration", e);`


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jmark99 commented on issue #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
jmark99 commented on issue #337: ACCUMULO-4732 No APIs to configure iterators 
or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#issuecomment-353230116
 
 
   I modified the exception from AccumuloException to IllegalArgumentException 
in the attachIterator method. Note that I catch the AccumuloException thrown by 
checkIteratorConflicts and then rethrow as an IllegalArgumentException.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jmark99 commented on issue #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
jmark99 commented on issue #337: ACCUMULO-4732 No APIs to configure iterators 
or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#issuecomment-353230116
 
 
   I modified the exception from AccumuloException to IllegalArgumentException 
in the attachIterator method. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] [Commented] (ACCUMULO-4765) Improve sortTable js function

2017-12-20 Thread Christopher Tubbs (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16299287#comment-16299287
 ] 

Christopher Tubbs commented on ACCUMULO-4765:
-

Agreed. That would be a good solution. We might have to implement some custom 
comparator plugins for some of the column data types, but that is manageable, 
and well worth the cleaner look and added features.

> Improve sortTable js function
> -
>
> Key: ACCUMULO-4765
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4765
> Project: Accumulo
>  Issue Type: Improvement
>  Components: monitor
>Affects Versions: 2.0.0
>Reporter: Michael Miller
>Priority: Minor
>  Labels: javascript, newbie
> Fix For: 2.0.0
>
>
> The sortTable() javascript function is used quite a lot (and has many 
> implementations) in the Monitor but takes the column number as a parameter.  
> While this is a simple solution that works well, it could break if the order 
> of the columns change.  It would be nice to have a sortTable function that is 
> smarter and could automatically detect which column to sort.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs 
to configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158159801
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -146,4 +163,91 @@ public NewTableConfiguration 
enableSummarization(SummarizerConfiguration... conf
 summarizerProps = tmp;
 return this;
   }
+
+  /**
+   * Configures a table's locality groups prior to initial table creation.
+   *
+   * Allows locality groups to be set prior to table creation. Additional 
calls to this method prior to table creation will overwrite previous locality 
group
+   * mappings.
+   *
+   * @param groups
+   *  mapping of locality group names to column families in the 
locality group
+   *
+   * @since 2.0.0
+   *
+   * @see TableOperations#setLocalityGroups
+   */
+  public NewTableConfiguration setLocalityGroups(Map groups) 
{
+// ensure locality groups do not overlap
+LocalityGroupUtil.ensureNonOverlappingGroups(groups);
+Map tmp = new HashMap<>();
+for (Entry entry : groups.entrySet()) {
+  Set colFams = entry.getValue();
+  String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
+  tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
+}
+tmp.put(Property.TABLE_LOCALITY_GROUPS.getKey(), 
groups.keySet().stream().collect(Collectors.joining(",")));
+checkDisjoint(properties, tmp, "locality groups");
+localityProps = tmp;
+return this;
+  }
+
+  /**
+   * Configure iterator settings for a table prior to its creation.
+   *
+   * Additional calls to this method before table creation will overwrite 
previous iterator settings.
+   *
+   * @param setting
+   *  object specifying the properties of the iterator
+   * @throws AccumuloException
+   *   if a general error occurs
+   *
+   * @since 2.0.0
+   *
+   * @see TableOperations#attachIterator(String, IteratorSetting)
+   */
+  public NewTableConfiguration attachIterator(IteratorSetting setting) throws 
AccumuloException {
 
 Review comment:
   Throwing `IllegalArgumentException` would be more consistent with the rest 
of the methods on NewTableConfig


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] [Commented] (ACCUMULO-4765) Improve sortTable js function

2017-12-20 Thread Michael Miller (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16299207#comment-16299207
 ] 

Michael Miller commented on ACCUMULO-4765:
--

If we went with DataTables (ACCUMULO-4771) this ticket would no longer be 
required.

> Improve sortTable js function
> -
>
> Key: ACCUMULO-4765
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4765
> Project: Accumulo
>  Issue Type: Improvement
>  Components: monitor
>Affects Versions: 2.0.0
>Reporter: Michael Miller
>Priority: Minor
>  Labels: javascript, newbie
> Fix For: 2.0.0
>
>
> The sortTable() javascript function is used quite a lot (and has many 
> implementations) in the Monitor but takes the column number as a parameter.  
> While this is a simple solution that works well, it could break if the order 
> of the columns change.  It would be nice to have a sortTable function that is 
> smarter and could automatically detect which column to sort.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (ACCUMULO-4771) Replace tables in Monitor with DataTables

2017-12-20 Thread Michael Miller (JIRA)
Michael Miller created ACCUMULO-4771:


 Summary: Replace tables in Monitor with DataTables
 Key: ACCUMULO-4771
 URL: https://issues.apache.org/jira/browse/ACCUMULO-4771
 Project: Accumulo
  Issue Type: Improvement
  Components: monitor
Affects Versions: 2.0.0
Reporter: Michael Miller
 Fix For: 2.0.0


I found this Javascript library: https://datatables.net/
I think this would give us everything we need to display data in the Monitor. 
It would take some work to get it working but it would eliminate a lot of 
custom code and give us more features.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] ctubbsii commented on issue #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
ctubbsii commented on issue #337: ACCUMULO-4732 No APIs to configure iterators 
or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#issuecomment-353205299
 
 
   @keith-turner Yes. I'm finished now. I made one last comment up for 
discussion about the thrown exceptions, but the rest of the API looks fine to 
me.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #337: ACCUMULO-4732 No APIs to 
configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158156098
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -146,4 +163,91 @@ public NewTableConfiguration 
enableSummarization(SummarizerConfiguration... conf
 summarizerProps = tmp;
 return this;
   }
+
+  /**
+   * Configures a table's locality groups prior to initial table creation.
+   *
+   * Allows locality groups to be set prior to table creation. Additional 
calls to this method prior to table creation will overwrite previous locality 
group
+   * mappings.
+   *
+   * @param groups
+   *  mapping of locality group names to column families in the 
locality group
+   *
+   * @since 2.0.0
+   *
+   * @see TableOperations#setLocalityGroups
+   */
+  public NewTableConfiguration setLocalityGroups(Map groups) 
{
+// ensure locality groups do not overlap
+LocalityGroupUtil.ensureNonOverlappingGroups(groups);
+Map tmp = new HashMap<>();
+for (Entry entry : groups.entrySet()) {
+  Set colFams = entry.getValue();
+  String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
+  tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
+}
+tmp.put(Property.TABLE_LOCALITY_GROUPS.getKey(), 
groups.keySet().stream().collect(Collectors.joining(",")));
+checkDisjoint(properties, tmp, "locality groups");
+localityProps = tmp;
+return this;
+  }
+
+  /**
+   * Configure iterator settings for a table prior to its creation.
+   *
+   * Additional calls to this method before table creation will overwrite 
previous iterator settings.
+   *
+   * @param setting
+   *  object specifying the properties of the iterator
+   * @throws AccumuloException
+   *   if a general error occurs
+   *
+   * @since 2.0.0
+   *
+   * @see TableOperations#attachIterator(String, IteratorSetting)
+   */
+  public NewTableConfiguration attachIterator(IteratorSetting setting) throws 
AccumuloException {
 
 Review comment:
   I don't think that these methods need to throw a checked 
`AccumuloException`. It might be preferable for them to just throw an 
`IllegalArgumentException`, since the problem is with the bad argument to the 
method, and not a problem with Accumulo itself.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API 
for Mutation
URL: https://github.com/apache/accumulo/pull/347#discussion_r158152646
 
 

 ##
 File path: core/src/main/java/org/apache/accumulo/core/data/Mutation.java
 ##
 @@ -772,6 +772,236 @@ public void putDelete(byte[] columnFamily, byte[] 
columnQualifier, ColumnVisibil
 put(columnFamily, columnQualifier, columnVisibility.getExpression(), true, 
timestamp, true, EMPTY_BYTES);
   }
 
+  /**
+   * Fluent API for Mutation
+   *
+   * 
+   * Each step of the Mutation is represented by an interface. Inheritance 
order ensures that chained methods follow prescribed order of:
+   *
+   * 
+   * row, family, qualifier, visibility, timestamp
+   *
+   * 
+   * set and delete methods end the chain and finalize the mutation
+   */
+  public interface RowStep extends FamilyStep {
 
 Review comment:
   What happens if someone creates a mutation with a specific row and then uses 
`row()` with a different one?
   
   ```java
   Mutation m = new Mutation("row1");
   m.at().row("row2").family("fam").set("val");
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API 
for Mutation
URL: https://github.com/apache/accumulo/pull/347#discussion_r158153173
 
 

 ##
 File path: core/src/main/java/org/apache/accumulo/core/data/Mutation.java
 ##
 @@ -772,6 +772,236 @@ public void putDelete(byte[] columnFamily, byte[] 
columnQualifier, ColumnVisibil
 put(columnFamily, columnQualifier, columnVisibility.getExpression(), true, 
timestamp, true, EMPTY_BYTES);
   }
 
+  /**
+   * Fluent API for Mutation
+   *
+   * 
+   * Each step of the Mutation is represented by an interface. Inheritance 
order ensures that chained methods follow prescribed order of:
 
 Review comment:
   Could mention that methods need to be in specified order but are optional


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
mikewalch commented on a change in pull request #347: ACCUMULO-4746 Fluent API 
for Mutation
URL: https://github.com/apache/accumulo/pull/347#discussion_r158098926
 
 

 ##
 File path: core/src/main/java/org/apache/accumulo/core/data/Mutation.java
 ##
 @@ -772,6 +772,236 @@ public void putDelete(byte[] columnFamily, byte[] 
columnQualifier, ColumnVisibil
 put(columnFamily, columnQualifier, columnVisibility.getExpression(), true, 
timestamp, true, EMPTY_BYTES);
   }
 
+  /**
+   * Fluent API for Mutation
+   *
+   * 
+   * Each step of the Mutation is represented by an interface. Inheritance 
order ensures that chained methods follow prescribed order of:
+   *
+   * 
+   * row, family, qualifier, visibility, timestamp
+   *
+   * 
+   * set and delete methods end the chain and finalize the mutation
+   */
+  public interface RowStep extends FamilyStep {
+FamilyStep row(byte[] r);
+
+FamilyStep row(CharSequence r);
+
+FamilyStep row(ByteBuffer r);
+
+FamilyStep row(Text t);
 
 Review comment:
   A long term plan is to no longer use external data types likes Hadoop's 
`Text` in Accumulo API.  Not sure if it should be used in new API.  Maybe 
others can weigh in.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] keith-turner commented on issue #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
keith-turner commented on issue #337: ACCUMULO-4732 No APIs to configure 
iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#issuecomment-353191412
 
 
   @ctubbsii are you finished looking at this?


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #332: ACCUMULO- Use the 
hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#discussion_r158136035
 
 

 ##
 File path: start/pom.xml
 ##
 @@ -43,19 +43,14 @@
   commons-vfs2
 
 
-  org.apache.hadoop
-  hadoop-client
+  org.slf4j
+  slf4j-api
 
 Review comment:
   Ah, cool. I thought that had been applied to all branches, but I guess not.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #332: ACCUMULO- Use the 
hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#discussion_r158135914
 
 

 ##
 File path: pom.xml
 ##
 @@ -907,6 +922,10 @@
 java17
 1.0
   
+  
+org.apache.hadoop.conf.Configuration
+org.apache.hadoop.fs.FileSystem
 
 Review comment:
   I agree. I don't know why they wouldn't either, and it looks like they did: 
I found `1.8` in `hadoop-project/pom.xml`
   
   Accumulo was reluctant before, without a major version number bump. I wonder 
if there'd be less resistance now. :man_shrugging: 


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on issue #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
ctubbsii commented on issue #347: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/347#issuecomment-353181035
 
 
   I haven't had time to do a full review of this yet, but wanted to remind 
that these new interfaces are necessarily in the public API, and we'll be stuck 
with the names of them for some time. So, if there's any better naming than the 
`-Step` pattern, we should discuss sooner rather than later.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158129512
 
 

 ##
 File path: 
test/src/main/java/org/apache/accumulo/test/ClientSideIteratorIT.java
 ##
 @@ -125,20 +125,25 @@ public void testVersioning() throws Exception {
 bw.addMutation(m);
 bw.flush();
 
-final Scanner scanner = conn.createScanner(tableName, new 
Authorizations());
-
-final ClientSideIteratorScanner csis = new 
ClientSideIteratorScanner(scanner);
-final IteratorSetting si = new IteratorSetting(10, "localvers", 
VersioningIterator.class);
-si.addOption("maxVersions", "2");
-csis.addScanIterator(si);
-
-checkResults(csis, resultSet1, PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME);
-checkResults(scanner, resultSet2, 
PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME);
-
-csis.fetchColumnFamily(new Text("colf"));
-checkResults(csis, resultSet1, PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME);
-csis.clearColumns();
-csis.fetchColumnFamily(new Text("none"));
-assertFalse(csis.iterator().hasNext());
+ClientSideIteratorScanner csis = null;
+try (Scanner scanner = conn.createScanner(tableName, new 
Authorizations())) {
 
 Review comment:
   It's possible to use try-with-resources for both `scanner` and `csis` in the 
same block. I don't recall if the separating character is a semicolon or a 
comma.
   
   ```java
   try (Scanner scanner = conn.createScanner(tableName, Authorizations.EMPTY); 
ClientSideIteratorScanner csis = new ClientSideIteratorScanner(scanner)) {
  // ...
   }
   ```
   
   You can also nest them, but that's uglier.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158130498
 
 

 ##
 File path: test/src/main/java/org/apache/accumulo/test/FileArchiveIT.java
 ##
 @@ -192,81 +194,88 @@ public void testUnusuedFilesAndDeletedTable() throws 
Exception {
 // Compact memory to disk
 conn.tableOperations().compact(tableName, null, null, true, true);
 
-Scanner s = conn.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
-s.setRange(MetadataSchema.TabletsSection.getRange(tableId));
-
s.fetchColumnFamily(MetadataSchema.TabletsSection.DataFileColumnFamily.NAME);
-
-Entry entry = Iterables.getOnlyElement(s);
-final String file = entry.getKey().getColumnQualifier().toString();
-final Path p = new Path(file);
-
-// Then force another to make an unreferenced file
-conn.tableOperations().compact(tableName, null, null, true, true);
-
-log.info("File for table: {}", file);
-
-FileSystem fs = getCluster().getFileSystem();
-int i = 0;
-while (fs.exists(p)) {
-  i++;
-  Thread.sleep(1000);
-  if (0 == i % 10) {
-log.info("Waited {} iterations, file still exists", i);
+Scanner s = null;
+try {
+  s = conn.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
+  s.setRange(MetadataSchema.TabletsSection.getRange(tableId));
+  
s.fetchColumnFamily(MetadataSchema.TabletsSection.DataFileColumnFamily.NAME);
+
+  Entry entry = Iterables.getOnlyElement(s);
+  final String file = entry.getKey().getColumnQualifier().toString();
+  final Path p = new Path(file);
+
+  // Then force another to make an unreferenced file
+  conn.tableOperations().compact(tableName, null, null, true, true);
+
+  log.info("File for table: {}", file);
+
+  FileSystem fs = getCluster().getFileSystem();
+  int i = 0;
+  while (fs.exists(p)) {
+i++;
+Thread.sleep(1000);
+if (0 == i % 10) {
+  log.info("Waited {} iterations, file still exists", i);
+}
   }
-}
 
-log.info("File was removed");
+  log.info("File was removed");
 
-String filePath = 
p.toUri().getPath().substring(getCluster().getConfig().getAccumuloDir().toString().length());
+  String filePath = 
p.toUri().getPath().substring(getCluster().getConfig().getAccumuloDir().toString().length());
 
-log.info("File relative to accumulo dir: {}", filePath);
+  log.info("File relative to accumulo dir: {}", filePath);
 
-Path fileArchiveDir = new 
Path(getCluster().getConfig().getAccumuloDir().toString(), 
ServerConstants.FILE_ARCHIVE_DIR);
+  Path fileArchiveDir = new 
Path(getCluster().getConfig().getAccumuloDir().toString(), 
ServerConstants.FILE_ARCHIVE_DIR);
 
-Assert.assertTrue("File archive directory didn't exist", 
fs.exists(fileArchiveDir));
+  Assert.assertTrue("File archive directory didn't exist", 
fs.exists(fileArchiveDir));
 
-// Remove the leading '/' to make sure Path treats the 2nd arg as a child.
-Path archivedFile = new Path(fileArchiveDir, filePath.substring(1));
+  // Remove the leading '/' to make sure Path treats the 2nd arg as a 
child.
+  Path archivedFile = new Path(fileArchiveDir, filePath.substring(1));
 
-Assert.assertTrue("File doesn't exists in archive directory: " + 
archivedFile, fs.exists(archivedFile));
+  Assert.assertTrue("File doesn't exists in archive directory: " + 
archivedFile, fs.exists(archivedFile));
 
-// Offline the table so we can be sure there is a single file
-conn.tableOperations().offline(tableName, true);
+  // Offline the table so we can be sure there is a single file
+  conn.tableOperations().offline(tableName, true);
 
-// See that the file in metadata currently is
-s = conn.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
-s.setRange(MetadataSchema.TabletsSection.getRange(tableId));
-
s.fetchColumnFamily(MetadataSchema.TabletsSection.DataFileColumnFamily.NAME);
+  // See that the file in metadata currently is
+  s = conn.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
+  s.setRange(MetadataSchema.TabletsSection.getRange(tableId));
+  
s.fetchColumnFamily(MetadataSchema.TabletsSection.DataFileColumnFamily.NAME);
 
-entry = Iterables.getOnlyElement(s);
-final String finalFile = entry.getKey().getColumnQualifier().toString();
-final Path finalPath = new Path(finalFile);
+  entry = Iterables.getOnlyElement(s);
+  final String finalFile = entry.getKey().getColumnQualifier().toString();
+  final Path finalPath = new Path(finalFile);
 
-conn.tableOperations().delete(tableName);
+  conn.tableOperations().delete(tableName);
 
-log.info("File for table: {}", finalPath);
+  log.info("File for table: {}", finalPath);
 
-i = 0;
-while (fs.exists(finalPath)) {
-  

[GitHub] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158128286
 
 

 ##
 File path: 
test/src/main/java/org/apache/accumulo/test/BatchWriterInTabletServerIT.java
 ##
 @@ -104,24 +104,34 @@ private void test(String t1, String t2, Connector c, 
IteratorSetting itset, int
 c.tableOperations().attachIterator(t2, summer);
 
 Map.Entry actual;
-// Scan t1 with an iterator that writes to table t2
-Scanner scanner = c.createScanner(t1, Authorizations.EMPTY);
-scanner.addScanIterator(itset);
-actual = Iterators.getOnlyElement(scanner.iterator());
-Assert.assertTrue(actual.getKey().equals(k, 
PartialKey.ROW_COLFAM_COLQUAL));
-Assert.assertEquals(BatchWriterIterator.SUCCESS_VALUE, actual.getValue());
-scanner.close();
+Scanner scanner = null;
+try {
+  // Scan t1 with an iterator that writes to table t2
+  scanner = c.createScanner(t1, Authorizations.EMPTY);
+  scanner.addScanIterator(itset);
+  actual = Iterators.getOnlyElement(scanner.iterator());
+  Assert.assertTrue(actual.getKey().equals(k, 
PartialKey.ROW_COLFAM_COLQUAL));
+  Assert.assertEquals(BatchWriterIterator.SUCCESS_VALUE, 
actual.getValue());
+} finally {
+  if (scanner != null) {
+scanner.close();
+  }
+}
 
-// ensure entries correctly wrote to table t2
-scanner = c.createScanner(t2, Authorizations.EMPTY);
-actual = Iterators.getOnlyElement(scanner.iterator());
-log.debug("t2 entry is " + actual.getKey().toStringNoTime() + " -> " + 
actual.getValue());
-Assert.assertTrue(actual.getKey().equals(k, 
PartialKey.ROW_COLFAM_COLQUAL));
-Assert.assertEquals(numEntriesToWritePerEntry, 
Integer.parseInt(actual.getValue().toString()));
-scanner.close();
+try {
+  // ensure entries correctly wrote to table t2
+  scanner = c.createScanner(t2, Authorizations.EMPTY);
+  actual = Iterators.getOnlyElement(scanner.iterator());
+  log.debug("t2 entry is " + actual.getKey().toStringNoTime() + " -> " + 
actual.getValue());
+  Assert.assertTrue(actual.getKey().equals(k, 
PartialKey.ROW_COLFAM_COLQUAL));
+  Assert.assertEquals(numEntriesToWritePerEntry, 
Integer.parseInt(actual.getValue().toString()));
+} finally {
+  if (scanner != null) {
+scanner.close();
+  }
+}
 
 Review comment:
   The two in this class can use try-with-resources also. It's okay that the 
variable will have to be declared twice instead of reused.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158130696
 
 

 ##
 File path: test/src/main/java/org/apache/accumulo/test/MetaGetsReadersIT.java
 ##
 @@ -68,6 +68,7 @@ public void run() {
 while (iterator.hasNext() && stop.get() == false) {
   iterator.next();
 }
+s.close();
 
 Review comment:
   Another one.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158130885
 
 

 ##
 File path: test/src/main/java/org/apache/accumulo/test/MetaGetsReadersIT.java
 ##
 @@ -112,6 +113,7 @@ public void test() throws Exception {
 t2.interrupt();
 t1.join();
 t2.join();
+m.close();
 
 Review comment:
   I didn't realize Mutation was even Closeable :smile:


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
ctubbsii commented on a change in pull request #341: ACCUMULO-3902 Ensure 
[Batch]Scanners are closed in ITs
URL: https://github.com/apache/accumulo/pull/341#discussion_r158129873
 
 

 ##
 File path: test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
 ##
 @@ -491,62 +490,69 @@ public void testIterators() throws Exception {
 IteratorSetting iterConfig3 = new IteratorSetting(5, 
VersioningIterator.class);
 VersioningIterator.setMaxVersions(iterConfig3, 1);
 
-Scanner scanner = conn.createScanner(tableName, new Authorizations());
-scanner.addScanIterator(iterConfig);
-scanner.setRange(new Range("ACCUMULO-1000"));
-scanner.fetchColumn(new Text("count"), new Text("comments"));
+Scanner scanner = null;
 
 Review comment:
   I think this is another opportunity for try-with-resources.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


Accumulo-Pull-Requests - Build # 926 - Fixed

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #926)

Status: Fixed

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/926/ to view the results.

[GitHub] jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed 
in ITs
URL: https://github.com/apache/accumulo/pull/341#issuecomment-353131598
 
 
   Could I get some help with this error code? Where in the accumulo-test 
package is this? Or maybe I am just not understanding the error. Thanks in 
advance! 
   
   ```
   [ERROR] Failed to execute goal 
net.revelc.code:impsort-maven-plugin:1.0.1:sort (sort-imports) on project 
accumulo-test: Execution sort-imports of goal 
net.revelc.code:impsort-maven-plugin:1.0.1:sort failed: (line 206,col 5) Try 
has no finally, no catch, and no resources.
   [ERROR] 
   [ERROR] Problem stacktrace : 
   [ERROR]   
com.github.javaparser.JavaParser.simplifiedParse(JavaParser.java:327)
   [ERROR]   com.github.javaparser.JavaParser.parse(JavaParser.java:295)
   [ERROR]   net.revelc.code.impsort.ImpSort.parseFile(ImpSort.java:51)
   [ERROR]   
net.revelc.code.impsort.maven.plugin.AbstractImpSortMojo.lambda$execute$3(AbstractImpSortMojo.java:166)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
   [ERROR]   
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
   [ERROR]   
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
   [ERROR]   
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
   [ERROR]   
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
   [ERROR]   
java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
   [ERROR]   
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
   [ERROR]   
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
   [ERROR]   
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
   [ERROR]   java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:747)
   [ERROR]   java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:721)
   [ERROR]   java.util.stream.AbstractTask.compute(AbstractTask.java:316)
   [ERROR]   
java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
   [ERROR]   java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
   [ERROR]   
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
   [ERROR]   java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
   [ERROR]   
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
   [ERROR] 
   [ERROR] -> [Help 1]
   [ERROR] 
   [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
   [ERROR] Re-run Maven using the -X switch to enable full debug logging.
   [ERROR] 
   [ERROR] For more information about the errors and possible solutions, please 
read the following articles:
   [ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
   [ERROR] 
   [ERROR] After correcting the problems, you can resume the build with the 
command
   [ERROR]   mvn  -rf :accumulo-test
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] bfach10 opened a new pull request #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
bfach10 opened a new pull request #347: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/347
 
 
   This PR is incomplete. Requesting feedback on design to make sure this is a 
good direction for the Mutation API.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] asfgit commented on issue #347: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
asfgit commented on issue #347: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/347#issuecomment-353140545
 
 
   Can one of the admins verify this patch?


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] joshelser commented on issue #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
joshelser commented on issue #332: ACCUMULO- Use the hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#issuecomment-353135042
 
 
   > I don't know if these shaded jars are included in the standard Hadoop 
installation path (my hunch is not).
   
   Oh, they are included:
   
   ```
   hadoop-3.0.0/share/hadoop/client/
   hadoop-3.0.0/share/hadoop/client/hadoop-client-runtime-3.0.0.jar
   hadoop-3.0.0/share/hadoop/client/hadoop-client-minicluster-3.0.0.jar
   hadoop-3.0.0/share/hadoop/client/hadoop-client-api-3.0.0.jar
   ```
   
   I'll have to see if I can get this running today locally and test it out.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed 
in ITs
URL: https://github.com/apache/accumulo/pull/341#issuecomment-353131598
 
 
   Could I get some help with this error code? Where in the accumulo-test 
package is this? Or maybe I am just not understanding the error. Thanks in 
advance! 
   
   ```
   [ERROR] Failed to execute goal 
net.revelc.code:impsort-maven-plugin:1.0.1:sort (sort-imports) on project 
accumulo-test: Execution sort-imports of goal 
net.revelc.code:impsort-maven-plugin:1.0.1:sort failed: (line 206,col 5) Try 
has no finally, no catch, and no resources.
   [ERROR] 
   [ERROR] Problem stacktrace : 
   [ERROR]   
com.github.javaparser.JavaParser.simplifiedParse(JavaParser.java:327)
   [ERROR]   com.github.javaparser.JavaParser.parse(JavaParser.java:295)
   [ERROR]   net.revelc.code.impsort.ImpSort.parseFile(ImpSort.java:51)
   [ERROR]   
net.revelc.code.impsort.maven.plugin.AbstractImpSortMojo.lambda$execute$3(AbstractImpSortMojo.java:166)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
   [ERROR]   
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   [ERROR]   
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
   [ERROR]   
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
   [ERROR]   
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
   [ERROR]   
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
   [ERROR]   
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
   [ERROR]   
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
   [ERROR]   
java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
   [ERROR]   
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
   [ERROR]   
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
   [ERROR]   
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
   [ERROR]   java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:747)
   [ERROR]   java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:721)
   [ERROR]   java.util.stream.AbstractTask.compute(AbstractTask.java:316)
   [ERROR]   
java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
   [ERROR]   java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
   [ERROR]   
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
   [ERROR]   java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
   [ERROR]   
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
   [ERROR] 
   [ERROR] -> [Help 1]
   [ERROR] 
   [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
   [ERROR] Re-run Maven using the -X switch to enable full debug logging.
   [ERROR] 
   [ERROR] For more information about the errors and possible solutions, please 
read the following articles:
   [ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
   [ERROR] 
   [ERROR] After correcting the problems, you can resume the build with the 
command
   [ERROR]   mvn  -rf :accumulo-test
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] joshelser commented on a change in pull request #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
joshelser commented on a change in pull request #332: ACCUMULO- Use the 
hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#discussion_r158086747
 
 

 ##
 File path: start/pom.xml
 ##
 @@ -43,19 +43,14 @@
   commons-vfs2
 
 
-  org.apache.hadoop
-  hadoop-client
+  org.slf4j
+  slf4j-api
 
 Review comment:
   Yep. There was a fix done in master by mwalch cleaning up most of this crap 
using the maven-dependency-analyzer feature.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] joshelser commented on issue #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
joshelser commented on issue #332: ACCUMULO- Use the hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#issuecomment-353128702
 
 
   >Would an Accumulo instance built against one work with the other?
   
   Unsure.
   
   >Do we need to have a different binary tarball assembly in a hadoop3 
profile in the assemble module?
   
   I'd guess for the same reason that our tests experience runtime errors, 
going against a real installation would similarly fail because of the beanutils 
dependency clashing.
   
   I don't know if these shaded jars are included in the standard Hadoop 
installation path (my hunch is not). 
   
   >Does our default class path in our scripts/config templates need to be 
updated to include different jars from the Hadoop3 install dirs vs. the Hadoop2 
install dirs?
   
   FS layout hasn't changed AFAIK, but the above comment about beanutils would 
likely affect things. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] joshelser commented on a change in pull request #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
joshelser commented on a change in pull request #332: ACCUMULO- Use the 
hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#discussion_r158085698
 
 

 ##
 File path: pom.xml
 ##
 @@ -907,6 +922,10 @@
 java17
 1.0
   
+  
+org.apache.hadoop.conf.Configuration
+org.apache.hadoop.fs.FileSystem
 
 Review comment:
   I haven't explicitly checked, but I wouldn't know why Hadoop wouldn't force 
this move given Java7 being EOL'ed forever and a half by now.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] joshelser commented on a change in pull request #332: ACCUMULO-XXXX Use the hadoop3 shaded jars

2017-12-20 Thread GitBox
joshelser commented on a change in pull request #332: ACCUMULO- Use the 
hadoop3 shaded jars
URL: https://github.com/apache/accumulo/pull/332#discussion_r158085456
 
 

 ##
 File path: server/base/pom.xml
 ##
 @@ -152,5 +148,40 @@
 
   
 
+
+  hadoop2
+  
+true
 
 Review comment:
   Ugh, I hate this. Yes, I forgot about this miserable maven-ism.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] bfach10 commented on issue #346: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
bfach10 commented on issue #346: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/346#issuecomment-353117706
 
 
   I chose the wrong branch :(


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] bfach10 closed pull request #346: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
bfach10 closed pull request #346: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/346
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
index d32ccf5e3b..b38862b572 100644
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
+++ 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
@@ -29,7 +29,7 @@
 
   // Variable names become JSON keys
   public String tableName;
-  public Table.ID tableID;
+  public String tableID;
   public String type;
   public String server;
 
@@ -44,7 +44,7 @@ public ProblemDetailInformation() {}
*
* @param tableName
*  Table name of the problem
-   * @param tableID
+   * @param tableId
*  Table ID of the problem
* @param type
*  Type of problem
@@ -57,9 +57,9 @@ public ProblemDetailInformation() {}
* @param exception
*  Exception of the problem
*/
-  public ProblemDetailInformation(String tableName, Table.ID tableID, String 
type, String server, Long time, String resource, String exception) {
+  public ProblemDetailInformation(String tableName, Table.ID tableId, String 
type, String server, Long time, String resource, String exception) {
 this.tableName = tableName;
-this.tableID = tableID;
+this.tableID = tableId.canonicalID();
 this.type = type;
 this.server = server;
 this.time = time;
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
index 78fdbadd8a..165bf86cfc 100644
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
+++ 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
@@ -29,7 +29,7 @@
 
   // Variable names become JSON keys
   public String tableName;
-  public Table.ID tableID;
+  public String tableID;
 
   public Integer fileRead;
   public Integer fileWrite;
@@ -42,7 +42,7 @@ public ProblemSummaryInformation() {}
*
* @param tableName
*  Name of the table with a problem
-   * @param tableID
+   * @param tableId
*  ID of the table with a problem
* @param fileRead
*  Number of files read
@@ -51,9 +51,9 @@ public ProblemSummaryInformation() {}
* @param tableLoad
*  Number of table loads
*/
-  public ProblemSummaryInformation(String tableName, Table.ID tableID, Integer 
fileRead, Integer fileWrite, Integer tableLoad) {
+  public ProblemSummaryInformation(String tableName, Table.ID tableId, Integer 
fileRead, Integer fileWrite, Integer tableLoad) {
 this.tableName = tableName;
-this.tableID = tableID;
+this.tableID = tableId.canonicalID();
 this.fileRead = fileRead;
 this.fileWrite = fileWrite;
 this.tableLoad = tableLoad;
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
index d15104611a..cacd3424a5 100644
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
+++ 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
@@ -30,7 +30,7 @@
 
   // Variable names become JSON keys
   public String tablename;
-  public Table.ID tableId;
+  public String tableId;
   public String tableState;
 
   public int tablets;
@@ -75,7 +75,7 @@ public TableInformation() {}
*/
   public TableInformation(String tableName, Table.ID tableId, String 
tableState) {
 this.tablename = tableName;
-this.tableId = tableId;
+this.tableId = tableId.canonicalID();
 this.tableState = tableState;
   }
 
@@ -95,7 +95,7 @@ public TableInformation(String tableName, Table.ID tableId, 
String tableState) {
*/
   public TableInformation(String tableName, Table.ID tableId, TableInfo info, 
Double holdTime, String tableState) {
 this.tablename = tableName;
-this.tableId = tableId;
+this.tableId = tableId.canonicalID();
 
 this.tablets = info.tablets;
 this.offlineTablets = info.tablets - info.onlineTablets;
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java
 

[jira] [Updated] (ACCUMULO-4746) Create Builder for Mutation

2017-12-20 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/ACCUMULO-4746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated ACCUMULO-4746:
-
Labels: pull-request-available  (was: )

> Create Builder for Mutation
> ---
>
> Key: ACCUMULO-4746
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4746
> Project: Accumulo
>  Issue Type: Sub-task
>  Components: client
>Reporter: Keith Turner
>Assignee: Benjamin F
>  Labels: pull-request-available
> Fix For: 2.0.0
>
>
> Accumulo needs a builder for mutation similar to the one that was added for 
> Key.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


Accumulo-Pull-Requests - Build # 925 - Failure

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #925)

Status: Failure

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/925/ to view the results.

[GitHub] bfach10 opened a new pull request #346: ACCUMULO-4746 Fluent API for Mutation

2017-12-20 Thread GitBox
bfach10 opened a new pull request #346: ACCUMULO-4746 Fluent API for Mutation
URL: https://github.com/apache/accumulo/pull/346
 
 
   This PR is incomplete. Requesting feedback on design to make sure this is a 
good direction for the Mutation API.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


Accumulo-Pull-Requests - Build # 924 - Fixed

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #924)

Status: Fixed

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/924/ to view the results.

[jira] [Created] (ACCUMULO-4770) Accumulo monitor overview page is not listing all Zookeeper nodes

2017-12-20 Thread Mike Walch (JIRA)
Mike Walch created ACCUMULO-4770:


 Summary: Accumulo monitor overview page is not listing all 
Zookeeper nodes
 Key: ACCUMULO-4770
 URL: https://issues.apache.org/jira/browse/ACCUMULO-4770
 Project: Accumulo
  Issue Type: Bug
Affects Versions: 2.0.0
 Environment: Ran Accumulo 2.0.0-SNAPSHOT on a cluster with 3 Zookeeper 
nodes.  Only one is being listed in the Accumulo monitor overview page.
Reporter: Mike Walch






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (ACCUMULO-4769) Sanity check for valid CryptoModule and KeyEncryptionStrategy in config

2017-12-20 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/ACCUMULO-4769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated ACCUMULO-4769:
-
Labels: pull-request-available  (was: )

> Sanity check for valid CryptoModule and KeyEncryptionStrategy in config
> ---
>
> Key: ACCUMULO-4769
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4769
> Project: Accumulo
>  Issue Type: Improvement
>Reporter: Nick Felts
>Assignee: Nick Felts
>  Labels: pull-request-available
>
> The current code will log a warning and default to an unencrypted mode if an 
> unknown class is provided for the cryptomodule or for the 
> keyencryptionstrategy. These should be checked when they are read from the 
> config to confirm they exist and implement the appropriate interface.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] asfgit commented on issue #345: ACCUMULO-4769 Sanity check for valid CryptoModule and KeyEncryptionStrategy in config

2017-12-20 Thread GitBox
asfgit commented on issue #345: ACCUMULO-4769 Sanity check for valid 
CryptoModule and KeyEncryptionStrategy in config
URL: https://github.com/apache/accumulo/pull/345#issuecomment-353105375
 
 
   Can one of the admins verify this patch?


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] PircDef opened a new pull request #345: ACCUMULO-4769 Sanity check for valid CryptoModule and KeyEncryptionStrategy in config

2017-12-20 Thread GitBox
PircDef opened a new pull request #345: ACCUMULO-4769 Sanity check for valid 
CryptoModule and KeyEncryptionStrategy in config
URL: https://github.com/apache/accumulo/pull/345
 
 
   Added a check to the ConfigSanityCheck to validate the cryptomodule and the 
keyencryptionstrategy
   Added unit tests to make sure the checks work
   Removed silent failure in the CryptoModuleFactory since we have already 
checked for these failures when these values were set.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] (ACCUMULO-4769) Sanity check for valid CryptoModule and KeyEncryptionStrategy in config

2017-12-20 Thread Nick Felts (JIRA)
Nick Felts created ACCUMULO-4769:


 Summary: Sanity check for valid CryptoModule and 
KeyEncryptionStrategy in config
 Key: ACCUMULO-4769
 URL: https://issues.apache.org/jira/browse/ACCUMULO-4769
 Project: Accumulo
  Issue Type: Improvement
Reporter: Nick Felts
Assignee: Nick Felts


The current code will log a warning and default to an unencrypted mode if an 
unknown class is provided for the cryptomodule or for the 
keyencryptionstrategy. These should be checked when they are read from the 
config to confirm they exist and implement the appropriate interface.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


Accumulo-Pull-Requests - Build # 923 - Failure

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #923)

Status: Failure

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/923/ to view the results.

Accumulo-Pull-Requests - Build # 922 - Fixed

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #922)

Status: Fixed

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/922/ to view the results.

[jira] [Created] (ACCUMULO-4768) Monitor Look and Feel

2017-12-20 Thread Michael Miller (JIRA)
Michael Miller created ACCUMULO-4768:


 Summary: Monitor Look and Feel
 Key: ACCUMULO-4768
 URL: https://issues.apache.org/jira/browse/ACCUMULO-4768
 Project: Accumulo
  Issue Type: Improvement
  Components: monitor
Affects Versions: 2.0.0
Reporter: Michael Miller
Priority: Minor
 Fix For: 2.0.0


Catch all ticket for minor look and feel improvements for the new Monitor.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Assigned] (ACCUMULO-4768) Monitor Look and Feel

2017-12-20 Thread Michael Miller (JIRA)

 [ 
https://issues.apache.org/jira/browse/ACCUMULO-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Miller reassigned ACCUMULO-4768:


Assignee: Michael Miller

> Monitor Look and Feel
> -
>
> Key: ACCUMULO-4768
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4768
> Project: Accumulo
>  Issue Type: Improvement
>  Components: monitor
>Affects Versions: 2.0.0
>Reporter: Michael Miller
>Assignee: Michael Miller
>Priority: Minor
> Fix For: 2.0.0
>
>
> Catch all ticket for minor look and feel improvements for the new Monitor.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] milleruntime commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
milleruntime commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are 
closed in ITs
URL: https://github.com/apache/accumulo/pull/341#issuecomment-353088473
 
 
   Whoops sorry clicked "close and Comment" instead of comment.
   
   The only preference we have for working with pull requests is that you don't 
rebase during a review.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jkrdev opened a new pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
jkrdev opened a new pull request #341: ACCUMULO-3902 Ensure [Batch]Scanners are 
closed in ITs
URL: https://github.com/apache/accumulo/pull/341
 
 
   Many files were changed simply adding the close of the scanners that were 
initialized. If there is some convention about where the scanners should be 
close please let me know. I realized that many of the ITs that created 
BatchScanner objects were already closed, but not many of the other Scanners. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] milleruntime commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
milleruntime commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are 
closed in ITs
URL: https://github.com/apache/accumulo/pull/341#issuecomment-353087570
 
 
   No worries @jkrdev its your branch, do as you please!


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


Accumulo-Pull-Requests - Build # 921 - Failure

2017-12-20 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-Pull-Requests (build #921)

Status: Failure

Check console output at 
https://builds.apache.org/job/Accumulo-Pull-Requests/921/ to view the results.

[GitHub] jmark99 commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
jmark99 commented on a change in pull request #337: ACCUMULO-4732 No APIs to 
configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158041086
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -184,6 +186,7 @@ public NewTableConfiguration 
setLocalityGroups(Map groups) {
   String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
   tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
 }
+checkDisjoint(properties, tmp, "locality groups");
 
 Review comment:
   Gotcha! Thanks


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed in ITs

2017-12-20 Thread GitBox
jkrdev commented on issue #341: ACCUMULO-3902 Ensure [Batch]Scanners are closed 
in ITs
URL: https://github.com/apache/accumulo/pull/341#issuecomment-353078564
 
 
   I did not mean to push those most recent commits, still making some changes. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs 
to configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158036209
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -184,6 +186,7 @@ public NewTableConfiguration 
setLocalityGroups(Map groups) {
   String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
   tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
 }
+checkDisjoint(properties, tmp, "locality groups");
 
 Review comment:
   I think if someone calls 
`ntc.setProperties(Property.TABLE_LOCALITY_GROUPS.getKey()='foo')` (not java 
syntax) and then calls `ntc.setLocalityGroups(...)`  it will not detect that 
overlap unless checked after.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] jmark99 commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
jmark99 commented on a change in pull request #337: ACCUMULO-4732 No APIs to 
configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158021114
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -184,6 +186,7 @@ public NewTableConfiguration 
setLocalityGroups(Map groups) {
   String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
   tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
 }
+checkDisjoint(properties, tmp, "locality groups");
 
 Review comment:
   Since checkDisjoint is checking the keys rather than the values for 
disjointness, performing the check at this point allowed any errors to be 
discovered before performing the join on map values. Either location should 
suffice, this was the earliest opportunity to perform the check.It won't bother 
me if you prefer it to be located after the next put. If so, let me know and 
I'll update the location.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables

2017-12-20 Thread GitBox
keith-turner commented on a change in pull request #337: ACCUMULO-4732 No APIs 
to configure iterators or locality groups for new tables
URL: https://github.com/apache/accumulo/pull/337#discussion_r158017438
 
 

 ##
 File path: 
core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
 ##
 @@ -184,6 +186,7 @@ public NewTableConfiguration 
setLocalityGroups(Map groups) {
   String value = LocalityGroupUtil.encodeColumnFamilies(colFams);
   tmp.put(Property.TABLE_LOCALITY_GROUP_PREFIX + entry.getKey(), value);
 }
+checkDisjoint(properties, tmp, "locality groups");
 
 Review comment:
   why not do this check after the put below?


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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