GLUE2: add GLUE2EndpointImplementation information

The EGI GLUE2 profile requires us to publish the implementation name
and version for all published endpoints, which we currently don't
do.

This patch adds this information.

Target: master
Request: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/5591/
Acked-by: Gerd Behrmann
Various improvements to short-lived Java invocations

This patch adds several features to improve responsiveness
for various short-lived java invocations and in particular
the chimera-cli command.

The '-client' option is used (sporadically) as a hint to
the JVM not to waste time optimising the byte-code as much
of the code won't be run multiple times.  This option only has
an effect on 32-bit JVMs.  This patch adds '-client' to the
places where it's missing and adds the '-XX:+TieredCompilation
-XX:TieredStopAtLevel=1' options that have the same effect for
64-bit JVMs.

For short-lived tasks, much of the time is spent processing
the classes.  By limiting the classpath to only the jar files
that are needed, less time is taken.  This patch adds support
for this and applies it to the chimera-cli command.

A considerable fraction of the time processing a class involves
verifying certain aspects of the byte-code.  If we trust the
Java compiler and the source of the code, we can choose to
side-step this verification by adding the classes to the
bootstrap-classpath.  This patch does this for the
chimera-cli command.

The chimera-cli creates a BoneCP database pool.  The current
options are not optimal.  This patch updates them.

The effect of these changes were tested by timing how long it
takes to run "chimera-cli ls /" 10 times (discarding output)
using the system-test deployment.  This is then repeated 5
times and the mean and std. deviation is calculated.

The initial time to run "chimera-cli ls /" on my laptop is
(2.99 +/- 0.03) s

Each of the improvements had the following improvements:

    -client -XX:+TieredCompilat... (0.64 +/- 0.07) s
    Limiting jars on classpath     (0.44 +/- 0.03) s
    Using boot-classpath           (0.45 +/- 0.02) s
    Updated BoneCP configuration   (0.07 +/- 0.02) s

    Total improvement              (1.56 +/- 0.03) s

Time to run "chimera-cli ls /" with all improvements is
(1.43 +/- 0.01) s

Acked-by: Tigran Mkrtchyan
Acked-by: Gerd Behrmann
Patch: http://rb.dcache.org/r/5584/
Target: master
Request: 2.6
dcache-webadmin: Rename to webadmin.war in assembly

The httpd cell hard-codes the webapp name to the alias name, meaning
the war file must have the same name as the mount point. This is
obviously a bad coupling and it broke when we renamed the webadmin
module to dcache-webadmin, however in the interest of fixing this
regression quikly, this patch renames the artifact during packaging.

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/5597/
Make packages/packaging both parent and aggregator of packaging modules

I think this makes the structure easier to recognize.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5596/
Remove HSM cleaner for PNFS

We do not support PNFS.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5600/
Add DelayedCommand base class

The class is suitable for creating annotated commands that can
execute on another thread.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5598/
Simplify use of DelayedReply

DelayedReply is used to provide message replies asynchronously. The existing
code blocks in the send() method until the cells code has injected the
endpoint used to send the reply. This forces the sender to catch an unlikely
InterruptedException and leads to deadlocks if the send method happens to be
called from the cells thread (as the injection will not happen until that
thread is released).

Both problems had already been addressed in the MessageReply class, however
the simpler DelayedReply class was never updated.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5599/
Fix quickJava for some shell versions

The current implementation and usage of quickJava relies on a shell-
specific behaviour; specifically, that specifying a environment
variable for a command that is actually a shell function becomes
an environment variable for that shell function.

Although this works for some versions of bash, it's now clear that
there are other versions of bash (and perhaps other shells) for
which this does not hold.

This patch fixes this problem by explicitly exporting the CLASSPATH
variable as an environment variable.

Patch: http://rb.dcache.org/r/5603
Acked-by: Tigran Mkrtchyan
Target: master
Requires-book: no
Requires-notes: no
drop execute bit on non-executable files

* Dropped the execute bit on files which are not executable.

Require-notes: no
Require-book: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
set execute bit on files that are executables

* Set the execute bit on files that seem to be executable.

Requires-book: no
Requires-notes: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Merge pull request #70 from calestyo/remove-execute-bits

drop execute bit on non-executable files

Acked-by: Gerd Behrmann <behrmann@nordu.net>
Merge pull request #71 from calestyo/set-execute-bit

set execute bit on files that are executables
srm: Make login broker of SRM configurable and clean up properties

The patch allows the login brokers used by the SRM to be configurable.
Since the SRM uses two login brokers, one for lookup and one for
registration, I have renamed all related properties such that those
related to door lookup begin with srm.lookup. and those for login
broker registration begin with srm.loginbroker.

When merging into stable branches, the old properties will not be marked
deprecated.

Deprecated by this patch:

srmLoginBrokerUpdatePeriod
srmNumberOfDoorsInRandomSelection

Introduced by this patch:

srm.lookup.loginbroker
srm.lookup.timeout
srm.lookup.population-size
srm.loginbroker
srm.loginbroker.period
srm.loginbroker.threshold
srm.loginbroker.family
srm.loginbroker.version

Target: trunk
Request: 2.6
Request: 2.2
Require-book: yes
Require-notes: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5604/
Merge branch 'master' of https://github.com/dCache/dcache
srm: Make login broker of SRM configurable and clean up properties

Fixed small bug introduced in 7654683528daebdb246b82db1b4d73562b4cc1c9.

Target: trunk
Request: 2.6
Request: 2.2
Require-book: no
Require-notes: no
Patch: http://rb.dcache.org/r/5604
Added billing property

Specifies the cell address services submit billing info to. Not all
services respect this property (at least statistics and poolmanager
don't).

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5605/
poolmanager: Made billing cell address configurable for pool manager

Addresses the issue that the billing cell address for pool manager
was injected through admin commands (rc set warning path) rather
than through the configuration system.

Obsoletes the admin command 'rc set warning path'.

Target: trunk
Require-notes: yes
Require-book: yes
Patch: http://rb.dcache.org/r/5606/
Acked-by: Paul Millar <paul.millar@desy.de> (in person)
Acked-by: Tigran Mkrtchya <tigran.mkrtchyan@desy.de>
pool: Improve logging of common errors

Improve log levels and log messages of common errors found in
production log files.

Target: trunk
Require-book: no
Require-notes: yes
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7685
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Dmitry Litvinsev <litvinse@fnal.gov>
Patch: http://rb.dcache.org/r/5255/
dcache: alarms fix four small bugs

module dcache alarms

Four small bugs:

1.  alarm send:  if -s does not provide a path, the subsequent string operation throws array out of bounds.
2.  alarm definition toXML is not emitting the matchException node when the value is true rather than false (the default)
3.  the server logback file defines the MAIL appender reference after it uses it, which is not allowed.
4.  If an alarm has an id which permits duplicates, and the admin closes the alarm, but thereafter another of its type arrives, that alarm currently will not be visible unless show closed is selected.  The fix is to force the closed flag to false on duplicate arrival.

Target: master
Patch:  http://rb.dcache.org/r/5602
Require-notes: yes
Require-book: no
Request: 2.6
Acked-by: Tigran

RELEASE NOTES:

Fixes four small bugs.

1.  dcache alarm send:  if -s does not provide a path (e.g., "src://otfrid" rather than "src://otfrid/"), the subsequent string o$
2.  dcache alarm add * modify fail to record matchException = true because of a logic error in the XML emitter.
3.  the server logback file defined the MAIL appender reference after it uses it, which is not allowed.
4.  If an alarm has an id which permits duplicates, and the admin closes the alarm, but thereafter another of its type arrives, that alarm currently will not be visible unless show closed is selected.  The fix is to force the closed flag to false on duplicate arrival.