libs: move to upstream nfs4j

Acked-by:
Target: master
Require-book: no
Require-notes: no
 nfs4: implement proxy-io on read

Linux client too often falls back to IO through MDS (door).
This ends up with IO error on the client side as dCache does
not supports it.

This change set aims to add proxy IO by using internally DCAP
protocol. The door-pool communication can be changed later to
other protocol.

This is for master, nevertheless, 2.7 and 2.6 should have it as well.

Acked-by: Gerd Behrmann
Target: master
Require-book: no
Require-notes: no
(cherry picked from commit 93ec46a)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>

Acked-by:
Target: master
Require-book: no
Require-notes: no
chimera: Provide meaningful exceptions on failure to delete a file

Addresses issues in Chimera in which failures to delete a file or
directory result in a generic error message without information
about the actual error.

The root cause is that Chimera copies a bad API from Java in which
remove methods simply return a boolean indicating whether the file
was deleted or not. This patch changes this such that an exception
is thrown in case of failure.

Motivation for this patch can be found in server logs of running
S2 against dCache (see http://svn.dcache.org/build/job/master%20post%20testing/167/console).
The log contains entries like:

30 Oct 2013 23:07:14 (PnfsManager) [RiY:547:srm2:rmdir SRM-sisyphus PnfsDeleteEntry] Failed to delete entry: Entry could not be removed: /data/s2/vm-dcache-wn01-tester5/20131030-230600-25706x

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6169/
(cherry picked from commit 87413b7a38b9fb8284dbb9c8363379f51d4d431d)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
nfs4: fix orphan proxy movers

Check client state before starting a proxy mover.
This prevents orphan movers when client recovery failed
or stateid provided by client is not valid.

Acked-by: Gerd Behrmann
Target: master, 2.7
Require-book: no
Require-notes: no
(cherry picked from commit b9d945f9e1dfb47bf501870cc91f1334b33fb6dc)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
(cherry picked from commit 4dc9af127988889d16b995bcc0ab5fbb9e65fe1e)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
libs: update nfs library to 0.7.1

fixes IO on 'dot' files.
fixes misbehavior in reboot recovery

Changelog for nfs4j-0.7.0..nfs4j-0.7.1
    * [eb6adf4] vfs: chimera: let inode to call setStat()
    * [d5b5a52] nfs4: implement missing RECLAIM_COMPLETE
    * [f361946] nfs4: fix open CLAIM_PREVIOUS
    * [a6d7c13] pom: enforce  maven-release-plugin 2.4.2

Acked-by: Albert Rossi
Target: master, 2.7

Require-book: no
Require-notes: yes
(cherry picked from commit dfeaa7c3fe5f984e8a3a364d5e4a3d78c3bc4497)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
(cherry picked from commit 5be250a84154798d61499aa141805f508f350ccf)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
libs: update nfs code to 0.7.2

new version with possibility to hide dcache from dcap
clients accessing NFS. This allows applications, which use
libdcap for all files, see dCache's NFS to a a regular
file system.

New export options added: dcap(defualt) and no_dcap.

Example:

/pnfs 10.0.1.1/24(rw,acl,no_dcap)

Changelog for nfs4j-0.7.1..nfs4j-0.7.2
    * [5c4808c] vfs: add a special option to hide dcache from dcap clients

Acked-by:
Target: master, 0.7
Require-book: yes
Require-notes: yes
(cherry picked from commit 33bafddac3e69f1d6057697e4244d253138943a3)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
libs: update to bugfix nfs4j-0.7.3

Changelog for nfs4j-0.7.2..nfs4j-0.7.3
    * [f2b0d2b] vfs: fix regression introduced in 1c916c5

Acked-by: Gerd Behrmann
Target: master, 2.8, 2.7
Require-book: no
Require-notes: no
(cherry picked from commit 2d14212ba231232090277b767b7e3352d60474d1)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
core, billing: remove unit test

The unit test for billing persistence uses timeouts/sleep to check the presence and absence of entries in the database.  This timing, however, is inherently unstable because it depends on the OS and the thread scheduler in particular.  Thus the test will sometimes fail during the build process.

However, the usefulness of this test is very limited, so I propose simply to eliminate it.

Target: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/6556/
Require-book: no
Require-notes: no
Acked-by: Gerd
Acked-by: Pau
xrootd: Upgrade to xrootd4j v1.2.4

Contains the following changes over v1.2.3:

42101c6 xrootd4j: Make errors null terminated
5ae3a44 Fix read beyond end of file

These changes improve compatibility with the "new xrootd client".

Target: trunk
Request: 2.8
Request: 2.7
Request: 2.6
Ticket: http://rt.dcache.org/Ticket/Display.html?id=8156
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6557/
(cherry picked from commit 68055d49528c12e714928c0d83418798fb8cf793)

Conflicts:
	pom.xml

(cherry picked from commit d39e76a6fec5cdde2e1a87b2ab17e2ca07d81cc3)

Conflicts:
	pom.xml
pool: Fix access time update

The bug causes access time update to happen on pool to pool and not on regular
downloads - the reverse is supposed to happen.

This affects sweeper garbage collection order, space cost calculation, and
access time update in the name space.

Target: trunk
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Ticket: http://rt.dcache.org/Ticket/Display.html?id=8234
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6564/
(cherry picked from commit 05cb3fcab635d741210801efbcc39bd2590dead1)
Merge pull request #409 from alrossi/fix/2.6/remove-billing-test

core, billing: remove unit test
Merge pull request #413 from gbehrmann/fix/2.6/rb6557

xrootd: Upgrade to xrootd4j v1.2.4
Merge pull request #416 from gbehrmann/fix/2.6/rb6564

pool: Fix access time update
Fix NPE in save command

Fixes

java.lang.NullPointerException: null
    at org.dcache.cells.UniversalSpringCell.ac_save(UniversalSpringCell.java:455) ~[dcache-core-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
    at dmg.util.command.AcCommandExecutor.execute(AcCommandExecutor.java:157) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.util.CommandInterpreter$CommandEntry.execute(CommandInterpreter.java:385) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.util.CommandInterpreter.execute(CommandInterpreter.java:281) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.util.CommandInterpreter.command(CommandInterpreter.java:215) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.cells.nucleus.CellAdapter.executeLocalCommand(CellAdapter.java:1025) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.cells.nucleus.CellAdapter.messageArrived(CellAdapter.java:952) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.cells.nucleus.CellNucleus$DeliverMessageTask.innerRun(CellNucleus.java:1070) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at dmg.cells.nucleus.CellNucleus$AbstractNucleusTask.run(CellNucleus.java:975) ~[cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
    at dmg.cells.nucleus.CellNucleus$1.run(CellNucleus.java:687) [cells-2.8.1-SNAPSHOT.jar:2.8.1-SNAPSHOT]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]

Affects all services that use UniversalSpringCell and do not have a default
setup file.

Target: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Albert Rossi <arossi@fnal.gov>
Patch: http://rb.dcache.org/r/6576/
(cherry picked from commit 4f7d02d9c2e5d6e3eeded68acf00352689905bd4)
pom: enforce maven-release-plugin 2.4.2

the latest plugin broke git support.

Acked-by: Gerd Behrmann
Target: master, 2.7, 2.6
Require-book: no
Require-notes: no
(cherry picked from commit 5a5ccd2d5c3353331881dc5df0645a429df836e9)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
dcache-core, alarms: remove postgresql precondition on schema

There is nothing in the liquibase schema for alarms which specifically requires postgresql.
Removing this precondition allows the rdbms option to be tested in system-test using hsqldb.

Target: 2.6
Patch: http://rb.dcache.org/r/6548/
Require-book: no
Require-notes: no
Acked-by: Gerd
Committed: b84b3fa2fe66b44a9f24dcdeda8cc344780f492b
[maven-release-plugin] prepare release 2.6.21
[maven-release-plugin] prepare for next development iteration
core, billing: remove unit test

The unit test for billing persistence uses timeouts/sleep to check the presence and absence of entries in the database.  This timing, however, is inherently unstable because it depends on the OS and the thread scheduler in particular.  Thus the test will sometimes fail during the build process.

However, the usefulness of this test is very limited, so I propose simply to eliminate it.

Target: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/6556/
Require-book: no
Require-notes: no
Acked-by: Gerd
Acked-by: Pau
xrootd: Upgrade to xrootd4j v1.2.4

Contains the following changes over v1.2.3:

42101c6 xrootd4j: Make errors null terminated
5ae3a44 Fix read beyond end of file

These changes improve compatibility with the "new xrootd client".

Target: trunk
Request: 2.8
Request: 2.7
Request: 2.6
Ticket: http://rt.dcache.org/Ticket/Display.html?id=8156
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6557/
(cherry picked from commit 68055d49528c12e714928c0d83418798fb8cf793)

Conflicts:
	pom.xml

(cherry picked from commit d39e76a6fec5cdde2e1a87b2ab17e2ca07d81cc3)

Conflicts:
	pom.xml