[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17765238#comment-17765238 ] Julian Reschke commented on OAK-10371: -- trunk: [094941333e|https://github.com/apache/jackrabbit-oak/commit/094941333e36aad19e8c9a2a55394618a27eefd6] [95ce8d2768|https://github.com/apache/jackrabbit-oak/commit/95ce8d2768dbeebda2726593efe6dd003799f0b1] [f948e36cfb|https://github.com/apache/jackrabbit-oak/commit/f948e36cfb97f15b598b953e614c5bd811c12f65] > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > Fix For: 1.58.0 > > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17764738#comment-17764738 ] Julian Reschke commented on OAK-10371: -- New PR: https://github.com/apache/jackrabbit-oak/pull/1117 (after refactoring inheritance and switching to OSGi R6 in separate tasks) > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17764076#comment-17764076 ] Carsten Ziegeler commented on OAK-10371: Right, inheritance of annotations is not supported with the official OSGi annotation. There are a couple of ways to fix this. Easiest is usually to just repeat the reference annotation within the component annotation on the sub class. The better option is usually to change the abstract class to make it clear that it expects such a reference, for example by adding a required constructor that takes the service as an argument. However that is a breaking change which might not be always possible. > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17764034#comment-17764034 ] Marcel Reutegger commented on OAK-10371: bq. Why can't you replace the component annotations in just this project? I tried that, but then the generated org.apache.jackrabbit.oak.plugins.blob.datastore.AzureDataStore.xml does not contain a reference to StatisticsProvider. I assume this is because we disabled the SCR plugin and the StatisticsProvider reference is in base class AbstractDataStoreService (in a different bundle) using SCR annotations. > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17763620#comment-17763620 ] Julian Reschke commented on OAK-10371: -- I believe Marcel tried that, but it didn't seem to be sufficient. I'll try to enhance oak-osgi-it to actually verify that the nundle is usable. > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17763617#comment-17763617 ] Carsten Ziegeler commented on OAK-10371: Why can't you replace the component annotations in just this project? > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17763600#comment-17763600 ] Julian Reschke commented on OAK-10371: -- So it seems we have three issues here: - we need to disable the SCR plugin in order to be able to embed Guaba, but we need it enabled to process the annotation that we use (https://github.com/apache/jackrabbit-oak/blob/13dbe7d6a70182b84cfa1e477edcb8317b8e1842/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreService.java#L22-L28) - updating the annotations (OAK-6759) probably requires doing so for all related components in the inheritance chain - we now test the bundlein OSGI (OAK-10430), but apparently not sufficiently (thanks to [~mreutegg] for helping to figure out what's going wrong) > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17763301#comment-17763301 ] Julian Reschke commented on OAK-10371: -- trunk: [95ce8d2768|https://github.com/apache/jackrabbit-oak/commit/95ce8d2768dbeebda2726593efe6dd003799f0b1] [f948e36cfb|https://github.com/apache/jackrabbit-oak/commit/f948e36cfb97f15b598b953e614c5bd811c12f65] > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17762440#comment-17762440 ] Julian Reschke commented on OAK-10371: -- trunk: [f948e36cfb|https://github.com/apache/jackrabbit-oak/commit/f948e36cfb97f15b598b953e614c5bd811c12f65] > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > Fix For: 1.58.0 > > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10371) oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it instead
[ https://issues.apache.org/jira/browse/OAK-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17762439#comment-17762439 ] Julian Reschke commented on OAK-10371: -- Had to exclude two more packages from import section, otherwise fails in oak-osgi-it. Hopefully this is good enough. > oak-segment-azure/oak-blob-cloud-azure require provided Guava, embed it > instead > --- > > Key: OAK-10371 > URL: https://issues.apache.org/jira/browse/OAK-10371 > Project: Jackrabbit Oak > Issue Type: Task > Components: blob-cloud-azure, segment-azure >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Critical > Fix For: 1.58.0 > > > These components require Guava due to their dependency on > microsoft-azure-keyvault-core. That dependency is embedded, but Guava is not. > Choices: > - get microsoft-azure-keyvault-core fixed not to use Guava (unlikely, but see > https://github.com/Azure/azure-sdk-for-java/issues/26846) > - embed Guava > - make sure that the OSGi import statement is as relaxed as possible (note > that, for historic reasons, our components for now are likely used in > environments using Guava 15) -- This message was sent by Atlassian Jira (v8.20.10#820010)