gplazma: Fix JVM implementation dependency in unit test

The ListCommand outputs plugins in hash table order - this ordering is
implementation dependent, which in turn causes the
ListCommandTests.testDetailedList unit test to fail with some JVMs (eg Oracle
JDK 8).

Target: trunk
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7196/
Make JDK byte code verification bug workaround Java 8 compatible

A workaround for a JDK bug that affects PowerMock only work with Java 7.
The -UseSplitVerifier option is no longer supported in Java 8. As an
alternative workaround, this patch disables the byte code verifier
entirely. Since this is only used with our own unit tests, the impact
is low.

Target: trunk
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: no
Requier-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7197/
info: Fix HashMap ordering assumption in unit test

The unit test assumes a particular serialized form of the state tree
nodes, which isn't guaranteed when iterating over a HashMap. This causes
the unit tests to fail with some JDKs, in particular JDK 8.

Target: trunk
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7198/
Update third party libraries

A single use of Generics had to be fixed due to API changes in
SLF4j.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7199/
pool: Resolve high memory usage and other issues in sweeper

Space sweeper while reclaiming loads the meta data entry of the
files it will remove. This consumes a lot of memory, in particular
when the entire pool is purged, causing OOM in the worst case.

This patch resolves this issue. The patch also resolves an issue
with the 'sweeper ls' command which would block the message thread.

Finally, log messages indicating the end of long running operations
in sweeper and for 'rep rmclass' have been added. This allows the
admin to detect when these operations have finished. Other log messages
have been refined too, including lowering the log level of several
messages.

Target: trunk
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7195/
chimera: create missing index i_dirs_iparent

speedups remove operation

Acked-by: Albert Rossi
Acked-by: Paul Millar
Target: master, 2.6, 2.7, 2.8, 2.9, 2.10
Require-book: no
Require-notes: yes
gplazma: make plugin creation caching optional

This patch introduces the gplazma.enable.plugin-creation-caching configuration property that
allows the admin to switch off the plugin cache.  This is useful as the cache is arguable a
misfeature and, in its current form, can lead to undesirable behaviour.

A subsequent patch (targeted at master only) will remove this feature.

Target: master
Patch: https://rb.dcache.org/r/7210/
Acked-by: Tigran Mkrtchyan
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: true
Require-book: no
acl: add heuristic to detect acl format

there are two ways to define acl:

USER:7:rlwfx:o:ALLOW:FFFF
and
USER:7:i+rlwfx:o:FFFF

make ACE#parse() smart enouth to detect that.

Ticket: #8424
Acked-by: Karsten Schwank
Target: master, 2.10
Require-book: no
Require-notes: no
solaris: fix solaris package script and add work-around for pkgmk bug

When building a tagged version of dCache, one of the directories is "-P
pkg".  The space in the directory name breaks the script and pkgmk
application.

This patch fixes the script by adding quotes to paths and adds a
work-around for the pkgmk bug.

Target: master
Patch: https://rb.dcache.org/r/7212/
Acked-by: Tigran Mkrtchyan
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
chimera: mark as-run if i_dirs_ipnfsid exists

Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
dcache-srm: Move SRM specific dCache code to new module

Makes the depedency between WebDAV and SRM explicit.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7214/
dcache-info: Move info service to its own Maven module

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7216/
build: Update to findbugs 3

Ensures Java 8 compatibility.

The patch also adds/corrects various pieces of meta data in the pom.

Target: trunk
Require-notes: no
Require-book: no
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
chimera: Move new CLI to chimera and delete old CLI

The patch moves the chimera shell to the chimera module. The patch
removes the old CLI classes.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7221/
libs: update to nfs4j-0.8.1

Changelog for nfs4j-0.8.0..nfs4j-0.8.1
    * [a041674] nfsv41: client: do not send getattr to DS
    * [2b6703e] test: suppress deprecation warning
    * [3a33b4c] acl: fix permission check on listdirectory
    * [e6f0783] mount: add support for symlinks

Ticket: #8410
Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: yes
libs: update to jglobus-2.0.6-rc7.d

Changelog for v2.0.6-rc6.d..v2.0.6-rc7.d
    * [7e2d73d] Signal end-of-stream when remote sends a CLOSE notification
    * [d636727] Enable TLS 1.2 clients

Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
pool,ftp: do not query for checksum on write

pool fetches checksum on write, even if in most cases it's not defined.
From now on, the pool fetches the  checksum only if it's not defined.
Doors will always define a checksum ( possibly empty ).

Acked-by: Paul Millar
Acked-by: Gerd Behrmann
Target: master
Require-book: no
Require-notes: no
srm: Fix set max ready get command

A regression in 2.9.0 caused the 'set max ready get' command of the
SRM to break. The regression is fixed by this patch.

Target: trunk
Require-notes: yes
Require-book: no
Request: 2.10
Request: 2.9
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7228/
srm: Fix restore of bring-online requests on restart

A regression introduced in 2.10.0 prevents the SRM from starting
when active bring-online requests are found in the SRM database.
The problem is that the scheduler timestamp isn't updated when
restoring jobs. This patch resolves the issue.

Target: trunk
Request: 2.10
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7224/
srm: Fix credential store registration

A regression in 2.10.0 prevents credentials from being reloaded. This regression
results in errors like these:

28 Aug 2014 16:54:25 (c-dCacheDomain-101-102) [] Uncaught exception in thread pool-2-thread-1
java.lang.NullPointerException: null
        at org.dcache.srm.request.RequestCredential.getRequestCredential(RequestCredential.java:120) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.request.Request.getCredential(Request.java:226) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.request.ContainerRequest.toString(ContainerRequest.java:679) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.SRM.listRequest(SRM.java:1183) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at diskCacheV111.srm.dcache.SrmCommandLineInterface.ac_ls_$_0_1(SrmCommandLineInterface.java:218) ~[dcache-core-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_65]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65]
        at dmg.util.command.AcCommandExecutor.execute(AcCommandExecutor.java:140) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter$CommandEntry.execute(CommandInterpreter.java:260) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter.doExecute(CommandInterpreter.java:169) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.doExecute(CellAdapter.java:955) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter.command(CommandInterpreter.java:155) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.command(CellAdapter.java:184) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.executeLocalCommand(CellAdapter.java:891) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.messageArrived(CellAdapter.java:817) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellNucleus$DeliverMessageTask.innerRun(CellNucleus.java:1092) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellNucleus$AbstractNucleusTask.run(CellNucleus.java:1000) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]

The regression is fixed by this patch.

Target: trunk
Require-notes: yes
Require-book: no
Request: 2.10
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de>