nfsv41: TransferService sholud disable pool no disk errors

Acked-by: Paul Millar
Target: master
Require-book: no
Require-notes: no
srm: Generify ContainerRequest, FileRequest and JobStorage

Addresses performance issues in code to load SRM requests from
the SRM database. Also addresses bugs triggered by disabling
database support in the SRM.

The patch generifies a number of SRM classes and interfaces. Besides
removing the need for a lot of type casting, this change allows
generic code in the base classes to know the type of their collaborators.
In particular, this allows a more precise type to be specified when
loading SRM requests back from the database, thus reducing the need
to probe several JobStorages.

The patch removes some dead code to avoid having to update it.

The patch addresses issues in which admin shell commands to cancel
active requests and to query recent requests would fail with a
ClassCastException if database support was disabled. That fix
also addresses issues in which an attempt to cancel requests that
are incompetely stored in the database would cause erroneous
results.

An example of the above issue is

[Gerds-MacBook-Pro.local] (SRM-Gerds-MacBook-Pro) admin > ls completed
java.lang.ClassCastException: org.dcache.srm.scheduler.NoopJobStorage cannot be cast to org.dcache.srm.request.sql.DatabaseRequestStorage

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Request: 2.7
Patch: http://rb.dcache.org/r/5918/
srmclient: Fix RPM prefix

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: http://rb.dcache.org/r/5928/
spacemanager: Optimize AL/RP injection

Improves latency upon file upload.

Space manager used to intercept PoolAcceptFileMessage,
both to add access latency and retention policy to the
file attributes sent to the pool (so it can choose
precious, cached, and sticky bits) and to send an
update to pnfsmanager to store access latency and
retention policy in chimera.

This patch changes the flow slightly. First of all,
storing access latency and retention policy by sending
an update to pnfsmanager is redundant. Pools in
WriteHandleImpl#registerFileAttributesInNameSpace already
store those attributes in chimera. Second, we can inject
those attributes into the file attributes send to the
pool while doing pool selection. The pool manager will
send back those file attributes to the door. The patch
modifies the doors to pass along those file attributes
to the pool - this is just a minor modification of the
existing logic, as doors already did this exact thing
for storage info.

The result is that for each write we save an additional
queuing phase in space manager, a db transaction and
two reads from the space manager database, and an
AL and RP update in chimera.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5938/
spacemanager: Delete file when cancelling a space reservation

Addresses a problem that may cause inconsistencies between
the files stored in a link group and in spaces of the link
group.

Files are preregistered with space manager before uploading
the file. This reservation can be cancelled before the upload
completes. Such a file will have been authorized for a
particular link group, thus cancelling the reservation should
also break the upload and remove the file.

This patch achieves this by deleting the name space entry
when such a non-final reservation (ie the reservation is
still in RESERVED or TRANSFERRING) is cancelled. This may
happen when the reservation is explicitly cancelled by the
SRM (eg when the client calls srmAbortFiles or the upload
is killed by an srmRm on the SURL), or when the reservation
expires. The file is only deleted if a PNFSID has been
registered, which is the case iff the transfer was authorized
for a link group. The file is deleted by PNFSID, which
guarantees that we do not accidentally delete another file
by the same path.

A consequence of this patch is that if the client does not
finish the upload with a call to srmPutDone, the srm request
will eventually time out and the file will be deleted.

Target: trunk
Request: 2.7
Require-notes: yes
Require-book: yes
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Patch: http://rb.dcache.org/r/5942/
httpd: fix access to context based pages

The contextHandler was bound to last requested page and
was rejecting access to other values. The internal logic
is change to bound only for 'named' contexts.

RELEASE NOTES:
fixed access to active transfers html and txt pages

Ticket: #7975
Acked-by: Albert Rossi
Target: master, 2.7, 2.6
Require-book: no
Require-notes: yes