[GitHub] asfgit closed pull request #253: ACCUMULO-4086 Improve volume chooser fallback
asfgit closed pull request #253: ACCUMULO-4086 Improve volume chooser fallback URL: https://github.com/apache/accumulo/pull/253 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] [Updated] (ACCUMULO-4086) Allow configurable failsafe volume choosing
[ https://issues.apache.org/jira/browse/ACCUMULO-4086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher Tubbs updated ACCUMULO-4086: Labels: release-notes (was: ) > Allow configurable failsafe volume choosing > --- > > Key: ACCUMULO-4086 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4086 > Project: Accumulo > Issue Type: Sub-task > Components: core >Reporter: Christopher Tubbs >Assignee: Christopher Tubbs > Labels: release-notes > Fix For: 2.0.0 > > Time Spent: 11h 50m > Remaining Estimate: 0h > > From parent issue: > {quote} > 3. In several places including {{PreferredVolumeChooser}}, > {{PerTableVolumeChooser}} and {{VolumeManagerImpl}}, the failsafe chooser is > the {{RandomVolumeChooser}} which will include the instance volume that needs > to be excluded. It would be useful to have a configurable failsafe in this > situation. > {quote} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (ACCUMULO-4086) Allow configurable failsafe volume choosing
[ https://issues.apache.org/jira/browse/ACCUMULO-4086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher Tubbs resolved ACCUMULO-4086. - Resolution: Fixed > Allow configurable failsafe volume choosing > --- > > Key: ACCUMULO-4086 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4086 > Project: Accumulo > Issue Type: Sub-task > Components: core >Reporter: Christopher Tubbs >Assignee: Christopher Tubbs > Fix For: 2.0.0 > > Time Spent: 11h 50m > Remaining Estimate: 0h > > From parent issue: > {quote} > 3. In several places including {{PreferredVolumeChooser}}, > {{PerTableVolumeChooser}} and {{VolumeManagerImpl}}, the failsafe chooser is > the {{RandomVolumeChooser}} which will include the instance volume that needs > to be excluded. It would be useful to have a configurable failsafe in this > situation. > {quote} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161232#comment-16161232 ] Keith Turner commented on ACCUMULO-4701: [~findepi] if we were to remove any usage of guava Beta or deprecated methods, do you think that would solve your problem? That would be the path I would like to take. We will need to do it to upgrade our guava version anyway. Maybe this could be done for 1.7.4 and 1.8.2, depending on how disruptive it is. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161337#comment-16161337 ] Piotr Findeisen commented on ACCUMULO-4701: --- [~kturner] short therm -- if you become compatible with Guava 23 or 22, then yes. Long therm -- being a library and using (non-shaded) Guava is kind of a commitment that you upgrade regularly. This path is a very good path, as long as you stay on it :) > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161367#comment-16161367 ] Michael Miller commented on ACCUMULO-4701: -- I did some quick searches on the code and we only have 28 occurrences of getHostText() in 1.7. Since there is an easy replacement for this method, I will create a ticket and replace it. I don't know if this well help your problem [~findepi] but either way we shouldn't be using Beta methods. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (ACCUMULO-4702) Use of Beta or deprecated Guava methods
[ https://issues.apache.org/jira/browse/ACCUMULO-4702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Miller reassigned ACCUMULO-4702: Assignee: Michael Miller > Use of Beta or deprecated Guava methods > --- > > Key: ACCUMULO-4702 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4702 > Project: Accumulo > Issue Type: Bug >Reporter: Michael Miller >Assignee: Michael Miller > > Google releases Guava with beta and deprecated code that should not be used. > From Guava README: > bq. If your code is a library itself (i.e. it is used on the CLASSPATH of > users outside your own control), you should not use beta API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161441#comment-16161441 ] Keith Turner commented on ACCUMULO-4701: bq. being a library and using (non-shaded) Guava is kind of a commitment that you upgrade regularly. I agree. I opened ACCUMULO-4703 as I think this is a more general issue that needs investigation. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161427#comment-16161427 ] Keith Turner commented on ACCUMULO-4701: bq. even if you do not use Beta APIs, then you should still upgrade quite regularly One possible way forward is that for 2.0.0 we jump to the latest Guava. For 1.7.4 and 1.8.2 we maintain the same version of Guava but avoid using methods that don't exists in current Guava. We also need to attempt to remove any usage of Beta methods. IIRC the Guava beta annotation is compile time only (its not carried forward into the guava jars), making automated analysis to find usage of Beta stuff difficult. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (ACCUMULO-4703) Attempt to pull all dependencies to latest version
Keith Turner created ACCUMULO-4703: -- Summary: Attempt to pull all dependencies to latest version Key: ACCUMULO-4703 URL: https://issues.apache.org/jira/browse/ACCUMULO-4703 Project: Accumulo Issue Type: Task Affects Versions: 2.0.0 Reporter: Keith Turner Priority: Blocker This is issue is motivated by discussion in ACCUMULO-4701. For 2.0.0 we should attempt to use the latest version of any direct dependencies. Not doing so may force user to use older versions of dependencies with bugs and security problems. ACCUMULO-4701 provides an example of this where Accumulo using methods that exist in an older version of Guava but are dropped in a new version prevent a user from using newer Guava. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (ACCUMULO-4703) Attempt to pull all dependencies to latest version
[ https://issues.apache.org/jira/browse/ACCUMULO-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Turner updated ACCUMULO-4703: --- Affects Version/s: (was: 2.0.0) > Attempt to pull all dependencies to latest version > -- > > Key: ACCUMULO-4703 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4703 > Project: Accumulo > Issue Type: Task >Reporter: Keith Turner >Priority: Blocker > Fix For: 2.0.0 > > > This is issue is motivated by discussion in ACCUMULO-4701. For 2.0.0 we > should attempt to use the latest version of any direct dependencies. Not > doing so may force user to use older versions of dependencies with bugs and > security problems. > ACCUMULO-4701 provides an example of this where Accumulo using methods that > exist in an older version of Guava but are dropped in a new version prevent a > user from using newer Guava. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (ACCUMULO-4702) Use of Beta or deprecated Guava methods
Michael Miller created ACCUMULO-4702: Summary: Use of Beta or deprecated Guava methods Key: ACCUMULO-4702 URL: https://issues.apache.org/jira/browse/ACCUMULO-4702 Project: Accumulo Issue Type: Bug Reporter: Michael Miller Google releases Guava with beta and deprecated code that should not be used. From Guava README: bq. If your code is a library itself (i.e. it is used on the CLASSPATH of users outside your own control), you should not use beta API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (ACCUMULO-4703) Attempt to pull all dependencies to latest version
[ https://issues.apache.org/jira/browse/ACCUMULO-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Turner updated ACCUMULO-4703: --- Fix Version/s: 2.0.0 > Attempt to pull all dependencies to latest version > -- > > Key: ACCUMULO-4703 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4703 > Project: Accumulo > Issue Type: Task >Reporter: Keith Turner >Priority: Blocker > Fix For: 2.0.0 > > > This is issue is motivated by discussion in ACCUMULO-4701. For 2.0.0 we > should attempt to use the latest version of any direct dependencies. Not > doing so may force user to use older versions of dependencies with bugs and > security problems. > ACCUMULO-4701 provides an example of this where Accumulo using methods that > exist in an older version of Guava but are dropped in a new version prevent a > user from using newer Guava. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4702) Use of Beta or deprecated Guava methods
[ https://issues.apache.org/jira/browse/ACCUMULO-4702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161819#comment-16161819 ] Christopher Tubbs commented on ACCUMULO-4702: - To prevent the use of beta classes from Guava, we could create a regex rule in checkstyle to ban any Guava imports that aren't in the vetted list. And, we should check everything we're currently using from Guava to ensure it's not marked beta. If a new Guava class is used in an import statement, we can explicitly check if it's beta and then add it to the vetted list in the regex. This is not an ideal solution, but we need to do something to avoid beta classes. > Use of Beta or deprecated Guava methods > --- > > Key: ACCUMULO-4702 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4702 > Project: Accumulo > Issue Type: Bug >Reporter: Michael Miller >Assignee: Michael Miller > Fix For: 1.7.4, 1.8.2, 2.0.0 > > > Google releases Guava with beta and deprecated code that should not be used. > From Guava README: > bq. If your code is a library itself (i.e. it is used on the CLASSPATH of > users outside your own control), you should not use beta API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161462#comment-16161462 ] Piotr Findeisen commented on ACCUMULO-4701: --- bq. For 1.7.4 and 1.8.2 we maintain the same version of Guava but avoid using methods that don't exists in current Guava. [~kturner], that will probably work. Of course, you can also upgrade the dependency in minor releases (assuming Guava is internal and pretty stable, it shouldn't require a major release to bump Guava dependency). Simply upgrading might be simply easier :) BTW {{@Beta}} has class file retention. Do you know static analysis tool that could report such usages? bq. I did some quick searches on the code and we only have 28 occurrences of getHostText() in 1.7. \[...] I don't know if this well help your problem Piotr Findeisen [~milleruntime], I don't know either. This is the method I found, but I wasn't using source (only jar), so it was a bit harder to check for others. Probably simplest way to check that is locally bumping Guava dependency and making sure code still compiles. (I know this is only an approximation of a formally correct process, but a good one.) > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (ACCUMULO-4702) Use of Beta or deprecated Guava methods
[ https://issues.apache.org/jira/browse/ACCUMULO-4702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher Tubbs updated ACCUMULO-4702: Fix Version/s: 2.0.0 1.8.2 1.7.4 > Use of Beta or deprecated Guava methods > --- > > Key: ACCUMULO-4702 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4702 > Project: Accumulo > Issue Type: Bug >Reporter: Michael Miller >Assignee: Michael Miller > Fix For: 1.7.4, 1.8.2, 2.0.0 > > > Google releases Guava with beta and deprecated code that should not be used. > From Guava README: > bq. If your code is a library itself (i.e. it is used on the CLASSPATH of > users outside your own control), you should not use beta API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161683#comment-16161683 ] Christopher Tubbs commented on ACCUMULO-4701: - [~findepi], other than the misuse of {{getHostText}}, which we definitely shouldn't be using, and should replace (ACCUMULO-4702), are there any other problems with Guava compatibility, which cannot be fixed by a user manipulation of the classpath to insert their required version? > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (ACCUMULO-4704) Find way to detect usage of Guava beta methods at build time
Keith Turner created ACCUMULO-4704: -- Summary: Find way to detect usage of Guava beta methods at build time Key: ACCUMULO-4704 URL: https://issues.apache.org/jira/browse/ACCUMULO-4704 Project: Accumulo Issue Type: Improvement Reporter: Keith Turner It would be really nice if the build failed when a Guava beta method was used. I have been looking for a way to make this happen. So far I have found the following. https://github.com/overstock/library-detectors -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] milleruntime opened a new pull request #297: ACCUMULO-4702 Code fixes to work with Guava 23
milleruntime opened a new pull request #297: ACCUMULO-4702 Code fixes to work with Guava 23 URL: https://github.com/apache/accumulo/pull/297 * Pulled in HostAndPort from Guava 23 * Replaced usage of HostAndPort getHostText with getHost * Replaced Iterators.emptyIterator with one from Collections * Kept the same Guava 14 dependency 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-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16161909#comment-16161909 ] John Vines commented on ACCUMULO-4701: -- Is there a reason we're jumping down the path of the short-sighted solution instead of just shading guava? The only explanation I'm seeing for not is Chris's original justification, which seems to be conflating shading with fatjar-ing. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ACCUMULO-4701) Shade Guava dependency
[ https://issues.apache.org/jira/browse/ACCUMULO-4701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16162132#comment-16162132 ] Christopher Tubbs commented on ACCUMULO-4701: - [~vines] Any form of bundling (shading is a form of bundling, with API relocation) introduces a whole class of problems (which we can discuss on the mailing list if you like). If, as a project, we were to start doing this, I think it would require more careful consideration, discussion, and debate (and the mailing lists are more suited to that than the JIRA comments section). ACCUMULO-4702 takes a much more conservative approach, by simply avoiding unstable Guava APIs (those marked "Beta"), which we always should have been avoiding. This is not a "short-sighted" solution, but a cautious and conservative one, which has more limited implications than simply shading Guava. > Shade Guava dependency > -- > > Key: ACCUMULO-4701 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4701 > Project: Accumulo > Issue Type: Improvement > Components: build >Affects Versions: 1.7.3 >Reporter: Piotr Findeisen >Assignee: Christopher Tubbs > > [{{presto-accumulo}}|https://github.com/prestodb/presto/tree/master/presto-accumulo] > connector embeds Accumulo client {{org.apache.accumulo:accumulo-core}}. > Accumulo uses Guava. Since Guava APIs are not strictly backwards compatible, > it's necessary to shade guava dependency or library users need to use same > Guava version (i.e. cannot upgrade/downgrade at will). > Please shade Guava dependency. -- This message was sent by Atlassian JIRA (v6.4.14#64029)