[GitHub] ctubbsii commented on a change in pull request #337: ACCUMULO-4732 No APIs to configure iterators or locality groups for new tables
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
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
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
[ 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
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(Mapgroups) { +// 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
[ 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
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
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
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(Mapgroups) { +// 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
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
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
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
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
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
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
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
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
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); - -Entryentry = 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
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.Entryactual; -// 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[ 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
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
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
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
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
[ 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
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
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
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
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
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
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
[ 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
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
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
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
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
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(Mapgroups) { 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
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
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(Mapgroups) { 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
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(Mapgroups) { 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
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(Mapgroups) { 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