admin: Fix cd to System cell

6250598677f3a3edccabfed9a28368b6d02db764 introduced a regression by move the
xyzzy noop command to CellAdapter and thus removing it from the System cell.
As a result, cd to the System cell resulted in an error reply. UserAdminShell
however silently ignored this error and nothing bad happened.

1e706795bfe43482d949c5dc1102fb7e513227c9 ported UserAdminShell to CellStub
which rethrows exception replies. As a consequence the UserAdminShell's cell
check would now fail, claiming that the System cell doesn't exist.

The fix adds the xyzzy command to System cell. The patch also changes
UserAdminShell to only consider TimeoutCacheException (which also covers no
route to cell errors) as a non-existing cell. Other errors are logged and
otherwise ignored.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6841/
cells: Fix message timeout

CellNucleus relies on periodic calls to executeMaintenanceTasks for message
timeouts for asynchronous tasks to work. Every dCache cell does this
automatically by inheriting from AbstractCell, but old-scholl cells in the
cells package don't. This was not a problem as long as cells only used blocking
communication, however a recent change refactored blocking communication on top
of asynchronous communication. This broke reconnect in LocationManager.

The patch addresses the problem on two fronts: It adds an explicit timeout to
the blocking get call in sendAndWait, thus ensuring a timely timeout; and it
moves the automatic calls of executeMintenanceTasks from AbstractCell to
CellNucleus.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6843/
ftp: add logging when client disconnects

Patch: http://rb.dcache.org/r/6844/
Acked-by: Gerd Behrmann
Target: master
gplazma-nis: suppress annoying error message

If the NIS plugin fails to map a username then it logs this as an error.

On gPlazma configured kerberos and NIS, where the Kerberos host
principal is used when mounting via NFS, there are many times where
NIS plugin is unable to map the host credential.  This results in
the plugin spamming the log file with meaningless error messages.

This patch pushes the significance of this to debug level.

Target: master
Patch: http://rb.dcache.org/r/6845/
Acked-by: Gerd Behrmann
transfermanagers: Fix multi-domain issue

Fixes an inssue that prevented transfermanagers from being used in any
other domain that the srm services. This issue has apparently existed for
years, possibly from the very first version of the SRM.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Albert Rossi <arossi@fnal.gov>
Patch: http://rb.dcache.org/r/6846/
cells: Add help command to System cell

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6850/
admin: Add array output

Several cell commands return binary objects. These are used internally, but are
also exposed through the admin interface. They are converted to string form using
Object#toString, however for arrays this only produces an object reference.

This patch adds output of the array content to the admin door.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6851/
pool: Let permanent migration jobs react to access and sticky changes

Permanent migration jobs react to changes to the repository by adding or
removing files from the job queue. Until now migration jobs only picked up
state changes, ignoring changes to sticky flags and access time. This was
originally done to avoid that the pool to pool transfer issued by the migration
job would trigger the file to be added back into the queue. Since the original
implementation, we have however modified pool to pool transfers to no longer
trigger an atime update. Thus it is now feasible to let migration jobs react to
all changes.

The patch modifies the change notification to include both the old and the
updated information about the replica. The migration job only adds a replica
to the queue if the old information did not match while the new matches.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6855/
info: remove emi.version from non-EMI dCache releases

dCache v2.7 and later are not part of any EMI release, therefore we
should not publish an EMI version for these releases.

For v2.6 the situation is more complicated, since the version is
released both through EMI and dcache.org.  Future patches may make this
distinction, allowing non-EMI releases to omit publishing any EMI
version.

Target: master
Request: 2.8
Request: 2.7
Patch: http://rb.dcache.org/r/6854/
Acked-by: Gerd Behrmann
info: add potentially useful static information

Various potentially useful pieces of information are available as
standard properties provided by Java.  This patch adds them to the
domain-specific static information.

The hierarchy from Java is mostly used, except where a branch would
be created with a single metric.

Target: master
Patch: http://rb.dcache.org/r/6856/
Acked-by: Gerd Behrmann
ftp: fix CKSM command for files with white-space

The CKSM command allows a client to request the checksum of a
file.  It assumes that the path contains no whitespace and fails
any request where this isn't true.

This patch fixes this.

Target: master
Patch: http://rb.dcache.org/r/6853/
Acked-by: Gerd Behrmann
Request: 2.8
Request: 2.7
Request: 2.6
ftp: add work-around for GlobusOnline uploads

The GlobusOnline client expects that the MD5 checksum is available
after uploading the file and does not degrade gracefully if an
alternative checksum is supplied.

This patch adds support where, if the GO client identifies itself,
then the pool is requested to generate an MD5 checksum.

Target: master
Patch: http://rb.dcache.org/r/6853
Acked-by: Gerd Behrmann
admin: Fix help on error

The admin shell used to output a command summary in case of syntax errors,
however recent refactoring broke this when the admin shell was ported to
CellStub (CellStub assumes that dCache uses CacheException, while much code
that comes from cells relies on CommandException).

This patch resolves the issue.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6865/
scripts: add database updateSQL command

Print the SQL statements which will be applied by update command.

Acked-by: Paul Millar
Target: master
Require-book: no
Require-notes: yes