Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dcache-billing-indexer: add explicit dependency on commons-io #7739

Open
wants to merge 1 commit into
base: 10.2
Choose a base branch
from

Conversation

kofemann
Copy link
Member

Motivation:
the dcache-billing-indexer uses commons-compress to handle bz2 files, and has non-optional dependency on commons-io, which is missing. So we get:

/usr/sbin/dcache-billing-indexer -index /var/lib/dcache/billing/2025/01/billing-2025.01.27.bz2
ERROR - Uncaught exception
java.lang.NoClassDefFoundError: org/apache/commons/io/input/CloseShieldInputStream
at org.dcache.services.billing.text.Indexer$7.openStream(Indexer.java:526)
at com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:474)
at com.google.common.io.CharSource.readLines(CharSource.java:371)
at org.dcache.services.billing.text.Indexer.produceIndex(Indexer.java:510)
at org.dcache.services.billing.text.Indexer.index(Indexer.java:396)
at org.dcache.services.billing.text.Indexer.(Indexer.java:211)
at org.dcache.services.billing.text.Indexer.main(Indexer.java:686)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.input.CloseShieldInputStream
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 7 common frames omitted

Modification:
explicitly add commons-io into dcache-billing-indexer classpath.

Result:
dcache-billing-indexer can process compressed files.

Fixes: #7738
Acked-by: Lea Morschel
Tested-by: Ville Salmela
Target: master, 10.2
Require-book: no
Require-notes: yes
(cherry picked from commit 153a018)

Motivation:
the dcache-billing-indexer uses commons-compress to handle bz2 files,
and has non-optional dependency on commons-io, which is missing. So we
get:

```
/usr/sbin/dcache-billing-indexer -index /var/lib/dcache/billing/2025/01/billing-2025.01.27.bz2
ERROR - Uncaught exception
java.lang.NoClassDefFoundError: org/apache/commons/io/input/CloseShieldInputStream
at org.dcache.services.billing.text.Indexer$7.openStream(Indexer.java:526)
at com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:474)
at com.google.common.io.CharSource.readLines(CharSource.java:371)
at org.dcache.services.billing.text.Indexer.produceIndex(Indexer.java:510)
at org.dcache.services.billing.text.Indexer.index(Indexer.java:396)
at org.dcache.services.billing.text.Indexer.(Indexer.java:211)
at org.dcache.services.billing.text.Indexer.main(Indexer.java:686)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.input.CloseShieldInputStream
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 7 common frames omitted
```

Modification:
explicitly add commons-io into dcache-billing-indexer classpath.

Result:
dcache-billing-indexer can process compressed files.

Fixes: #7738
Acked-by: Lea Morschel
Tested-by: Ville Salmela
Target: master, 10.2
Require-book: no
Require-notes: yes
(cherry picked from commit 153a018)
Signed-off-by: Tigran Mkrtchyan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant