dCache / dcache

dCache - a system for storing and retrieving huge amounts of data, distributed among a large number of heterogenous server nodes, under a single virtual filesystem tree with a variety of standard access methods
https://dcache.org
290 stars 136 forks source link

'rebalance pgroup' with non-existing pool group not correctly caught #2249

Closed ahaupt closed 8 years ago

ahaupt commented 8 years ago

When attempting to rebalance a non-existing pool group in the PoolManager, the error is not correctly caught (version 2.13.24):

[trajan-vm2] (PoolManager@dCacheDomain) admin > rebalance pgroup non-existing-pgroup
Command 'rebalance pgroup non-existing-pgroup' triggered a bug (java.util.NoSuchElementException: No such pool group: non-existing-pgroup); the service log file contains additional information. Please contact support@dcache.org.

The domain PoolManager is running in, produces this backtrace then:

03 Mar 2016 12:07:05 (PoolManager) [admin] Command failed due to a bug, please contact support@dcache.org.
dmg.util.CommandPanicException: (1) Command failed: java.util.NoSuchElementException: No such pool group: non-existing-pgroup
    at dmg.util.command.AcCommandExecutor.execute(AcCommandExecutor.java:163) ~[cells-2.13.24.jar:2.13.24]
    at org.dcache.util.cli.CommandInterpreter$CommandEntry.execute(CommandInterpreter.java:260) ~[common-cli-2.13.24.jar:2.13.24]
    at org.dcache.util.cli.CommandInterpreter.doExecute(CommandInterpreter.java:169) ~[common-cli-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellAdapter$1.doExecute(CellAdapter.java:99) ~[cells-2.13.24.jar:2.13.24]
    at org.dcache.util.cli.CommandInterpreter.command(CommandInterpreter.java:155) ~[common-cli-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellAdapter$1.command(CellAdapter.java:116) ~[cells-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellAdapter.command(CellAdapter.java:218) ~[cells-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellAdapter.executeLocalCommand(CellAdapter.java:876) ~[cells-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellAdapter.messageArrived(CellAdapter.java:813) ~[cells-2.13.24.jar:2.13.24]
    at dmg.cells.nucleus.CellNucleus$DeliverMessageTask.run(CellNucleus.java:1106) [cells-2.13.24.jar:2.13.24]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_71]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_71]
    at dmg.cells.nucleus.CellNucleus$5.run(CellNucleus.java:747) [cells-2.13.24.jar:2.13.24]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]
Caused by: java.util.NoSuchElementException: No such pool group: non-existing-pgroup
    at diskCacheV111.poolManager.PoolSelectionUnitV2.getPoolsByPoolGroup(PoolSelectionUnitV2.java:2259) ~[dcache-core-2.13.24.jar:2.13.24]
    at org.dcache.poolmanager.Rebalancer.ac_rebalance_pgroup_$_1(Rebalancer.java:125) ~[dcache-core-2.13.24.jar:2.13.24]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_71]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_71]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_71]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_71]
    at dmg.util.command.AcCommandExecutor.execute(AcCommandExecutor.java:140) ~[cells-2.13.24.jar:2.13.24]
    ... 13 common frames omitted
gbehrmann commented 8 years ago

Thanks.

gbehrmann commented 8 years ago

Fixed in 2.15.