From 66e57cfe564ba28773932584ef9053fe4c48256d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Starek?= Date: Tue, 22 Nov 2016 11:57:50 +0100 Subject: [PATCH] Regular maintenance releases 2.16.18 et al. --- release-notes-2.10 | 20 + release-notes-2.13 | 27 + release-notes-2.14 | 27 + release-notes-2.15 | 27 + release-notes-2.16 | 76 ++ release-notes-3.0~ | 1974 ++++++++++++++++++++++++++++++++++++++++++++ releases.xml | 110 ++- 7 files changed, 2256 insertions(+), 5 deletions(-) create mode 100644 release-notes-3.0~ diff --git a/release-notes-2.10 b/release-notes-2.10 index 5858691..c3d0d85 100644 --- a/release-notes-2.10 +++ b/release-notes-2.10 @@ -102,6 +102,26 @@ Paul Millar <paul.millar@desy.de> xrootd is now consistent with information recorded for other protocol transfers. +## Release 2.10.62 + +### poolmanager + +PoolManager was updated to properly handle the `dcache.authz.staging.pep` and `dcache.authz.staging` parameters. This allows to enable stage protection properly. + + +### Changelog 2.10.61..2.10.62 + + + +[29cbe36](https://github.com/dcache/dcache/commit/29cbe36c4093e59f26b2e010ce0270a0c4fe6b18) +: [maven-release-plugin] prepare release 2.10.62 + +[4247d9a](https://github.com/dcache/dcache/commit/4247d9a749149a4b4d0a9f5c0abd738d6300aa9b) +: PoolManager : stage protection, fix error in stage.fragment + +[332e0ff](https://github.com/dcache/dcache/commit/332e0ff275fe3a32f4cf41beb62370ee9211613f) +: [maven-release-plugin] prepare for next development iteration + ## Release 2.10.61 ### pnfsmanager diff --git a/release-notes-2.13 b/release-notes-2.13 index 0e4013c..8eda74c 100644 --- a/release-notes-2.13 +++ b/release-notes-2.13 @@ -137,6 +137,33 @@ Highlights from this release: required upon upgrading, but downgrading is not possible without explicitly converting the format. +## Release 2.13.49 + +### dcap + +Connections of non-DCAP clients to a dCache no longer result in stack-traces in the logs. + +### poolmanager + +PoolManager was updated to properly handle the `dcache.authz.staging.pep` and `dcache.authz.staging` parameters. This allows to enable stage protection properly. + + +### Changelog 2.13.48..2.13.49 + + + +[8777492](https://github.com/dcache/dcache/commit/8777492ee3a3e09c99854ac6bc913bce26445db3) +: [maven-release-plugin] prepare release 2.13.49 + +[704121e](https://github.com/dcache/dcache/commit/704121e61ccdfcedca3578e7e6da48f6d2e758c0) +: dcap: don't create stack-trace if tunnel fails due to bad client + +[6ffa136](https://github.com/dcache/dcache/commit/6ffa136a1b93d467f4cd6c173d2f1520694fae0f) +: PoolManager : stage protection, fix error in stage.fragment + +[f26ad6b](https://github.com/dcache/dcache/commit/f26ad6b3b8cec0631b4568d370e2234acf6c86d4) +: [maven-release-plugin] prepare for next development iteration + ## Release 2.13.48 ### Changes affecting multiple services diff --git a/release-notes-2.14 b/release-notes-2.14 index bd35e99..29e2988 100644 --- a/release-notes-2.14 +++ b/release-notes-2.14 @@ -149,6 +149,33 @@ Highlights from this release: SRM requests will be lost from the database. Third party scripts that access the SRM database directly may have to be updated. +## Release 2.14.38 + +### dcap + +Connections of non-DCAP clients to a dCache no longer result in stack-traces in the logs. + +### poolmanager + +PoolManager was updated to properly handle the `dcache.authz.staging.pep` and `dcache.authz.staging` parameters. This allows to enable stage protection properly. + + +### Changelog 2.14.37..2.14.38 + + + +[d1c87a9](https://github.com/dcache/dcache/commit/d1c87a91e2a61b26b5c3ef6bb084e63c6d81981d) +: [maven-release-plugin] prepare release 2.14.38 + +[3aeb652](https://github.com/dcache/dcache/commit/3aeb652f4911e18a124878ba62cb33cb826630fd) +: dcap: don't create stack-trace if tunnel fails due to bad client + +[051f57f](https://github.com/dcache/dcache/commit/051f57f0a1e4d18863c2e9d3705fd4bce2086e7d) +: PoolManager : stage protection, fix error in stage.fragment + +[fa39df6](https://github.com/dcache/dcache/commit/fa39df64a73d6c575d89cc9365de9e2adf9ec4e0) +: [maven-release-plugin] prepare for next development iteration + ## Release 2.14.37 ### Changes affecting multiple services diff --git a/release-notes-2.15 b/release-notes-2.15 index 58ffeb6..8febd86 100644 --- a/release-notes-2.15 +++ b/release-notes-2.15 @@ -94,6 +94,33 @@ Highlights from this release: enforced. Clients that relied on these not being enforced will fail after upgrade. +## Release 2.15.25 + +### dcap + +Connections of non-DCAP clients to a dCache no longer result in stack-traces in the logs. + +### poolmanager + +PoolManager was updated to properly handle the `dcache.authz.staging.pep` and `dcache.authz.staging` parameters. This allows to enable stage protection properly. + + +### Changelog 2.15.24..2.15.25 + + + +[073a1d5](https://github.com/dcache/dcache/commit/073a1d5a771a2fb4dbea9e35139e5159aa4b68a5) +: [maven-release-plugin] prepare release 2.15.25 + +[477c6c0](https://github.com/dcache/dcache/commit/477c6c06584634cc49ad4d14596ac7a13ff24920) +: dcap: don't create stack-trace if tunnel fails due to bad client + +[07b4153](https://github.com/dcache/dcache/commit/07b415323213412b1f68dd4d063c22fca6045cc6) +: PoolManager : stage protection, fix error in stage.fragment + +[194d914](https://github.com/dcache/dcache/commit/194d91431bd51b167ce0adc8731b6ed4892b131b) +: [maven-release-plugin] prepare for next development iteration + ## Release 2.15.24 ### Changes affecting multiple services diff --git a/release-notes-2.16 b/release-notes-2.16 index fe47736..059c985 100644 --- a/release-notes-2.16 +++ b/release-notes-2.16 @@ -111,6 +111,82 @@ HTML header: dCache 2.16 Release Notes * Sites with a custom `httpd.conf` configuration will have to adjust this upon upgrade to inject the cell address of the `info` service. +## Release 2.16.19 + +### dcap + +Connections of non-DCAP clients to a dCache no longer result in stack-traces in the logs. + +### pool + +A lock contention scenario in the migration module was removed, increasing performance and throughput. + +### poolmanager + +PoolManager was updated to properly handle the `dcache.authz.staging.pep` and `dcache.authz.staging` parameters. This allows to enable stage protection properly. + +### resilience + +When building the central pool information data structure for resilience +(PoolInfoMap), it was (erroneously) assumed that pool group names would +never conflict with storage unit names, since the latter would always contain an '@'. + +Obviously, there is no restriction on the naming of pool groups, so +it is possible (though perhaps unlikely) that the name of a group +could be identical to that of a storage unit. In this case, +when the PoolInfoMap is updated, the storage group will overwrite +the values for the pool group. This will eventually lead to the +failure of all files belonging to that pool group to be replicated. + +This potential problem was mitigated by this patch. + +Resilience Manager was updated to support globbed expressions for PoolSelectionUnits. + +A Python script, `share/migration/migrate_from_repman_to_resilience.py`, is provided for migrating from replica manager to the new resilience service. + +### srmclient + +SrmShell has been modified to actively probe for connection information that the +user has not specified. This reduces unnecessary reconnection attempts. + +If an SRM request originating from a BeStMan system has to be rejected, the client now properly +reports the situation. + + +### Changelog 2.16.18..2.16.19 + + + +[a4d5824](https://github.com/dcache/dcache/commit/a4d5824a071a58bc7eee37ea77fcb1bab0219668) +: [maven-release-plugin] prepare release 2.16.19 + +[53e953a](https://github.com/dcache/dcache/commit/53e953a02010cfaebcf46565f9ce5ff4a6b75c3f) +: resilience: python script for making database changes necessary for migration from old replica manager setup + +[1c9704b](https://github.com/dcache/dcache/commit/1c9704ba2c5acdf815d37a05b2283b103c031475) +: pool: Reduce lock contention in migration module + +[5e8e9c7](https://github.com/dcache/dcache/commit/5e8e9c76e13ad581995df31aa18424aec025c6cd) +: srmclient: fix compatibility with Bestman + +[d2e7b95](https://github.com/dcache/dcache/commit/d2e7b95c3d3a8e845e51bfd958854c6feb0b14f5) +: srmclient: probe for SRM endpoint parameters that the user doesn't specify + +[6752620](https://github.com/dcache/dcache/commit/6752620c62d68bb70e2ae2261579ed89b139725d) +: Resilience: separate out the data structures for handling storage units from those for pool groups + +[98ec759](https://github.com/dcache/dcache/commit/98ec7594c03c998e3c3df29bfabaaeccd23cd225) +: Resilience: Support matching the universal and class default storage unit expressions + +[d430a02](https://github.com/dcache/dcache/commit/d430a02f2c1e3e9b23e026122af9fccedaa159d0) +: dcap: don't create stack-trace if tunnel fails due to bad client + +[de42e02](https://github.com/dcache/dcache/commit/de42e02b49f8a230b8c4db3248043ec3874b0934) +: PoolManager : stage protection, fix error in stage.fragment + +[5bd8b17](https://github.com/dcache/dcache/commit/5bd8b1705f7670e443e5fb68f46dce0033a65bcd) +: [maven-release-plugin] prepare for next development iteration + ## Release 2.16.18 ### Changes affecting multiple services diff --git a/release-notes-3.0~ b/release-notes-3.0~ new file mode 100644 index 0000000..02d42eb --- /dev/null +++ b/release-notes-3.0~ @@ -0,0 +1,1974 @@ +HTML header: dCache 3.0 Release Notes + + + + + + + + +
+ +
+ +
+ + + +## Highlights + +- Experimental CEPH support. +- Automatic detection of PostgreSQL master. +- Self describing billing files. +- Pool manager setup is stored in ZooKeeper. +- Pool manager read-only state is stored in setup file and ZooKeeper. +- New performance cost calculation for improved stability of hot spot replication. +- Allow batching of flush to tape to be "disabled". +- Allow polling HSM scripts. +- Mover queues can be created at runtime. +- Abort upload when SRM TURL is invalidated. +- Allow xrootd clients to select mover queues. +- Support the HAProxy proxy protocol. +- Production ready support for high availability deployments. + +## Incompatibilities + +- Compatibility with pools older than 2.16 has been dropped. +- Properties marked deprecated in 2.16 are now obsolete. +- Several deprecated or obsolete admin commands have been + removed. +- The admin door no longer supports DSA keys. +- The billing service no longer output records for + which no format string was defined. +- The pool manager and pool configuration files now only + support the commands considered setup commands. +- Support for the legacy UDP discovery service used in + 2.15 and earlier has been dropped. +- dCacheDomain no longer default are core domain. +- DCAP doors no longer supportthe `dcapLock` feature to + halt new requests. +- Pool manager now automatically persists its setup in ZooKeeper + uses it after a restart rather than `poolmanager.conf`. +- The way pool manager calculates performance cost has changed + and cost limits in pool manager may have to be retuned. +- The pool to pool client queue in pools no longer has a + configurable limit. +- Return code 72 is now a special value for HSM scripts. +- The failure semantics for empty uploads has changed. +- The `https-jglobus` value has been removed for the + `webdav.authn.protocol` property. + +## Acknowledgments + +Thanks to Onno Zweers for several contributions to this release. + +## Release 3.0.0 + +The most obvious change is the transition to a new versioning scheme +that better reflects our existing release and compatibility policy. + +Once a year, dCache.org releases a golden release. The golden release +maintains compatibility with pools of the previous golden release and +any intermediate version. The release after the golden release drops +compatibility with pools older than the golden release it surpasses. +The new versioning scheme reflects the incompatibility by incrementing +the major version number in the release *after* a golden release. Thus +the golden release marks the last release of a particular major +version. Like before, patch level releases are identified by a third +number in the version. + +As always, this dCache release contains many internal changes, many +performance improvements and many cosmetic changes that will not be +explicitly described in the release notes. The changelog at the end +contains the complete list. + +As always in a release after a golden release (an .0 release in the +new versioning scheme), configuration properties previously marked +obsolete have been dropped. Configuration properties previously marked +deprecated are now obsolete. You should run `dcache check-config` +before upgrading and fix any warnings. Rerun `dcache check-config` +after upgrading. + +The following are noteworthy changes or changes that you as an admin +should know about when upgrading. The changes are described in no +particular order. + +#### admin: no longer supports DSA keys + +Upon upgrade, the post installation script will automatically generate +RSA keys instead. Your ssh client may warn you about the changed +server key. The `admin.paths.dsa-host-key.private` and +`admin.paths.dsa-host-key.public` properties are obsolete. + +#### Automatic detection of current PostgreSQL master + +`dcache.db.host` and derived properties now accept a comma separated +list of host names when used with PostgreSQL. This is intended for use +with a cluster of PostgreSQL servers using streaming replication. The +JDBC driver automatically detects and uses the current master +server. In case a slave is promoted to master, the JDBC driver +automatically discovers and reconnects to the new master without +requiring a dCache restart. + +#### caNl 2.1 + +Although this change should be transparent, the update of the Common +Authentication Library, the Bouncy Castle cryptographic library, the +ARGUS library, and the VOMS library is critical and you never +know if this breaks something. Keep an eye out for CA and client +problems. + +On the positive side, this upgrade allowed us to update the Apache +SSHD library which hopefully fixes a number of compatibility problems +observed with some Python SSH libraries. + + +#### billing: empty format strings suppresses output + +Previously, if a formatting string was undefined, billing records would +be logged using a default format. This has been changed such that +billing records with an undefined or empty formatting string are not +added to the billing file. This allows specific record types to be +suppressed. + +#### billing: make billing files self-describing + +Upon startup or when rolling over to a new billing file, the billing +service now outputs formatting instructions to the billing file. These +are lines starting with `##` followed by the message type and the +configured formatting string. Parsers may make use of the +instructions to recognize the format. At the very least, third party +parsers should be updated to ignore lines starting with a hash symbol. + + +The billing indexing utility has been updated to recognize these +formatting instructions and thus can parse the billing files even when +the output format is changed and billing files thus contain a mix of +different formats. + +Configuration properties with the common prefix +`billing.parser.format` were added to define the default format for +old billing files without formatting instructions. Thus the output +format can be changed while still maintaining compatibility with old +billing files. + +#### billing: expose full address in billing record + +Previously, some billing records were logged with a full cell address +while others only included a cell name. The default format retains +this behaviour, however the full cell address is now exposed in the +formatting string. The cell name and domain name are also exposed +separately, making it possible to output these as separate +fields. Check the instructions in `billing.properties` for details. + +#### billing: make service replicable + +It is now possible to add multiple billing services if all components +(including pools) have been updated to version 3.0. All instances of +`billing` receive all billing records. + +Introduced `dcache.queue.billing` and `dcache.topic.billing` +properties and marked `dcache.service.billing` obsolete. + +#### Setup files are now restricted to setup commands + +The setup files of various services, in particular `poolmanager.conf` +and `setup` on pools, are now restricted to setup commands. These are +the commands the services themselves use when generating the setup +files. Previously any cell command could be included, even though the +command would be lost when the setup file was regenerated. + + +#### Setup file syntax is now checked before it is loaded + +When reloading a setup file at runtime using the `reload` command, the +file is now checked for syntactic errors before being applied to the +running service. If an error is found, the file is not loaded and the +service is unaffected. Previously, such errors would leave the service +in an inoperable state. + + +#### Legacy cell topology support has been dropped + +dCache 2.16 introduced the use of ZooKeeper for topology discovery as +well as the use of core domains as message brokers and satellite +domains connect to core domains. For backwards compatibility, 2.16 +included the legacy UDP discovery service in `dCacheDomain` and +`dCacheDomain` was a core domain by default. This UDP service is no +longer included and compatibility with pools older than 2.16 has been +dropped. `dCacheDomain` no longer defaults to being a core domain and +it is in fact no longer a special name - you may call it whatever you +like. + +This however means that unless you define some domain as a core +domain, none of your dCache domains will be connected and you will be +left with an inoperative dCache. If you haven't already done so in +2.16, upon upgrade designate one of your domains as a core domain by +defining `dcache.broker.scheme = core` for it. Your former +`dCacheDomain` would be an obvious candidate for such a domain. + +#### Lots of improvements to service life-cycle management + +We made lots of changes to the life cycle of dCache cells. These +changes are mostly internal, but the short story is that we try to +improve how dCache starts and in particular how it can cleanly shut +down. + +In the past, clean shutdown wasn't all that important as the service +would be inoperable anyway when shut down. With the addition of high +availability deployments, this assumption is no longer true and we +would like to be able to shut down cleanly. The goal has not been +achieved yet in dCache 3.0, as there are still plenty of issues +causing exceptions on shutdown, but the situation should be better than +in previous releases. + +As an admin, the obvious change you will observe is that errors in the +log files have changed. In particular we log more stack traces when +detecting errors and we log cells that shut down slowly; even though +slow shutdown isn't necessarily an error as many services now do more +work while shutting down. + + +#### New wire protocol for cell communication + +A new wire protocol for interdomain TCP connections for cell +communication has been introduced. This protocol has lower overhead +than the old protocol. Connections with 2.16 domains are detected +automatically and the old protocol is used as a fallback. + +#### dcap: fewer threads and faster + +The DCAP door was refactored. Compared to the earlier version it got: + +- about half the number of threads than before, +- reuse of threads to reduce the overhead, +- detects client disconnects even if the door is busy, +- the legacy feature to block a DCAP door by defining the `dcapLock` + entry in the domain context has been removed. + + +#### spacemanager: improved latency on non-spacemanager transfers + +Space manager is sort of a proxy for pool manager. When enabled, doors +send requests they usually would send to pool manager to space manager +instead. This had the effect of adding a little extra latency to all +transfers, even reads and unmanaged transfers. + +The interaction between pool manager, space manager and doors has been +heavily refactored. One consequence is that the space manager can +inject its own behaviour into the doors. This allows the requests to +be sent directly to pool manager if it can be determined that space +manager is not involved in processing it. + + +#### poolmanager: persist setup file in ZooKeeper + +The pool manager setup is now preserved across restarts even without +saving the setup to disk. This is achieved by persisting the setup in +ZooKeeper whenever it changes. Upon restart, the setup is loaded back +from ZooKeeper. + +The consequence is that `poolmanager.conf` is only loaded when either +no setup can be found in ZooKeeper, or when the admin explicitly uses +the `reload` command. Restarting pool manager will not reload +`poolmanager.conf`. As before, the `save` command is used to update +`poolmanager.conf` and the file is not updated automatically. + +This feature forms the basis of synchronizing the setup between +multiple instances of the pool manager in a high availability +deployment of dCache: Whenever the setup changes in one pool manager, +the setup is stored in ZooKeeper and other instances discover the +change and apply the update locally. + +#### poolmanager: persist pool read-only status in pool manager setup + +When using the `psu set pool -rdonly` command to mark a pool as read +only, this restriction was not persisted in the pool manager +configuration file. Consequently, the read only status would be reset +by a pool manager restart. + +The read only status is now stored in both `poolmanager.conf` and +in ZooKeeper and thus the read only status of a pool survives restarts. + +Note that the read-only status in pool manager is a separate concept +from the `pool disable` state defined in pools. + +#### poolmanager: make the service replicable + +Pool manager is now a replicable service. This means one can create +multiple redundant instances of pool manager and the load will be +distributed over the available instances. The pool manager +configuration is synchronized through ZooKeeper. For a given set of +pool managers, a particular file is always processed by the same +instance. + +#### poolmanager: allow decentralized pool selection + +Pool manager has traditionally been the central place in which all +pool selection (assigning transfers to pools) has been performed. Pool +manager allows great flexibility in how this selection is performed, +including cost based replication, load and space triggered fallbacks, +staging from tape or to export pools, etc. + +To accurately enforce the different selection strategies and the +various cost limits, it was essential that pool manager had a +complete picture of the load of all pools. Cost updates from pools are +only distributed every 30 seconds, so to obtain the necessary accuracy, +pool manager would update its internal cost estimates whenever it +selected a pool and it would also intercept messages between doors and +pools indicating the beginning and end of a transfer. + +This model falls apart if pool selection is distributed over several +components as any adjustments to the internal cost state would be +local to the component selecting the particular pool. Such distributed +pool selection could be found in a high availability deployment of +dCache in which multiple redundant pool managers each perform pool +selection for a shard of the files. Another, not currently +implemented, scenario is delegating pool selection to doors to reduce +the latency of pool selection. + +dCache 3 reimplements how the various cost limits of pool manager are +enforced. Rather than assuming that a pool manager has perfect +knowledge, pool selection is performed under the assumption of +reasonably, but not perfectly, accurate data. Whenever the pool +manager selects a pool it also encodes the _assumptions_ under which +this pool was selected (e.g. load is below a certain threshold, pool +has enough free space, etc). This assumption is forwarded by the door +to the pool and checked by the pool before enqueuing a mover. If the +assumption fails, a cost update is prematurely submitted to pool +manager and the mover creation request is rejected. The door will +resubmit the pool selection request to pool manager, which now has +more accurate cost information. + +This change is mostly invisible, although it may certainly affect the +dynamic behaviour of pool manager, replication and assignment of +transfers to pools. + +By the way, the `cm info` command of pool manager has been removed as +there is nothing useful for it to report now. The commands `cm set +active`, `cm set update`, `cm set debug`, `cm set magic` are +obsolete. These should be removed from `poolmanager.conf` on upgrade. + + +#### poolmanager: improve stability of hot spot replication + +Pool manager can be configured to trigger replication of files when +the source pool exceeds a certain load threshold. + +Unfortunately, the load was defined in terms of the average relative +queue length of the various mover queues on the pool, including the +queues of pool to pool transfers. Since pool to pool queues typically +(and wisely) have low limits, the relative weight in the load +calculation of pool to pool transfers is often high. The consequence +is that triggering a replication may itself push the calculated load +of the pool higher, triggering even more replications. This is bound +to generate an unstable system. + +dCache 3 changes how the load of a pool is calculated to exclude the +two pool to pool queues as well as the HSM stage queue from the pool +calculation. Existing cost cut limits may have to be retuned as the +calculated performance cost has changed. + +#### pool: drop the limit on pool to pool receive queues + +A pool has two queues dedicated to pool to pool transfers; one for +sending files and one for receiving files. The receiving end does not +limit the number of concurrent transfers to avoid deadlocks in pool to +pool transfers. For purposes of calculating a performance cost, the +pool did however define a limit anyway (as the load was determined as +the average queue length _relative_ to the queue limit). + +As described in the previous section, load no longer considers the +pool to pool queues and thus the unenforced limit on the receive queue +has been dropped. The pool `pp set max active` command has been +deprecated. The queued and max columns of the pool to pool receive +queue in `webadmin` and `httpd` are now empty. + + + +#### pool: log why a mover is killed + +The pool has been extended with support for injecting a message when +killing a mover. Components and services that kill movers make use of +this feature to document why the mover was killed. This information is +included in billing and depending on the protocol it may also be +propagated to the client. + + +#### pool: allow continuous flushing to tape + +Traditionally, flush to tape on pools was batched by storage +class. Once a batch of files began to flush, new files arriving on the +pool would not begin flushing until the running batch would complete. +For HSM subsystems that do their own batching, the batching in dCache +is typically counterproductive as the driver or some external +component may wait for more files even though such files would be held +back by the pool to be included in the next batch. + +To resolve this issue, dCache 3 adds an `-open` option to the `queue +define class` command in the `pool` service. This option alters the +logic such that newly created files are added to an existing batch +immediately. + +#### pool: support polling scripts with the HSM script driver + +The classic `script` HSM driver invokes an external script to flush, +stage or remove files from tape. Usually, this operation is blocking, +meaning that many concurrent instances of this script will run at the +same time. + +Some clever admins have found a workaround for this scalability issue +by letting the script poll for the completion of the operation. Rather +than block, the script terminates with a failure. This relies on +dCache pools retrying HSM operations. This works well, except that it +fills the billing files and log files with error messages. + +To support this type of script, dCache 3 extends the `script` driver +to recognize 72 as a special return code. When the script exits with +this return code, the driver places the request back into its queue +and retries it without propagating the error to dCache. The result is +that the operation is retried without spamming the log files and +billing files. The retry period can be configured using the new +-p:delay option. + +Note that for flush, the retry triggered by exit code 72 is within the +same batch. Thus new files will not be added to the queue until the +batch completes, except if the flush queue is defined with continuous +flushing (see the `-open` option in the previous section). + + +#### pool: alter failure semantics for empty files + +When upload to a pool fails, the file is usually registered in the +name space like any other upload - if a checksum or file size was +predefined, the file may optionally be marked broken. In either case, +the file would be considered "complete" in the sense that no further +modifications to the file are allowed. + +One common failure mode for uploads is when no data is uploaded at +all. This could be because the mover was killed before it could be +started, that is, while it is queuing; or because the client didn't +connect to the mover; or because the mover failed to connect to the +client. Networking issues could be a common source of such +failures. Due to the failure semantics, such movers could not be +retried by the door. + +In dCache 3 the failure semantics for such empty uploads has changed +such that the replica on the pool is instead deleted and not +registered in the name space. The name space entry is left in its +"virgin state". Protocols like NFS and DCAP can open such files for +writing, allowing the upload to be retried. + +Eventually, other doors will be updated to retry write mover creation, +but the current release doesn't do that yet. + +#### pool: allow runtime management of mover queues + +Pools allow movers to be placed on queues. Several queues may be +created, e.g. to treat internal and external transfers differently, or +to queue transfers by protocol. + +Previously, custom queues were defined using the `pool.queues` +configuration property, requiring a pool restart to change the defined +queues. + +In dCache 3, the admin shell commands `mover queue create` and `mover +queue delete` have been added instead. The existing `pool.queues` +property is deprecated. The queue definitions are persisted to the +pool setup file when issuing the `save` command. + +By the way, the unused `mover remove` command has been removed. + + +#### pool: deprecated commands for HSM limits have been removed + +The deprecated `rh set max active`, `st set max active` and `rm set +max active` are no longer support in pool setup files. Use the +equivalent provider specific options instead. Upon upgrade we +recommend running the pool `save` command before upgrading - at least +if this has not been done since upgrading to 2.9. + + +#### pool: optimize Berkeley DB meta data updates + +The part of the pool abstracting file and meta data operations - the +repository - has been heavily refactored. One consequence is that +Berkeley DB updates are now transactional, improving consistency and +hopefully performance too as updates are batched together. + + +#### pool: allow CEPH to be used as a storage backend + +One consequence of the heavily refactored repository component in +pools is that it has become easy to plug in alternative backends. +CEPH is a distributed block storage that has gained popularity in +recent years. In dCache 3, CEPH can be used as a backend for pools, +allowing the file data to be stored in CEPH. The meta data is kept in +the traditional Berkeley DB format. + +See the documentation of the `pool.backend` property for choosing an +alternative backend. Several CEPH related properties starting with +`pool.backend.ceph` have been added. Consult the documentation in +`pool.properties` for details. + +One consequence of the change is that HSM drivers can no longer expect +replicas to be stored as files on the local file system. Instead +replicas in a pool are now identified by a URI. When developing HSM +drivers or HSM scripts, this should be taken into +consideration. Backwards compatibility is however important to the +dCache team and as long as a local file system is used, the HSM driver +and HSM scripts are passed a regular path rather than a URI. + +It has to be stressed that CEPH support is considered an experimental +feature. The more encouraging news is maybe that this shows that it is +fairly easy to hook alternate storage backends into dCache. + + +#### pool: sorted listing of movers + +In the _nice to have_ category, dCache 3 supports options in the +`mover ls` admin shell command to sort the output by mover's last +access time and transferred data size. + +#### ftp: port door to Netty + +Netty is an non-blocking I/O framework used by xrootd doors and for +xrootd and http movers in pools. In dCache 3.0 ftp doors make use of +Netty too. This is pretty much transparent, but it allows the +door to scale to more concurrent connections with lower resource +usage. + +By the way, we also upgraded to Netty 4.1 with buffer pooling enabled +- this should reduce Java garbage collection overhead. + +#### ftp: abort upload if SRM invalidates TURL + +Previously, when the transfer URL generated by the SRM was invalidated, +either because it expired, the request was aborted, or the SURL was +deleted, the underlying FTP upload would be allowed to continue. The +upload would eventually fail when the last byte had been transferred, +wasting bandwidth and generating a misleading error. + + +This has been changed such that the SRM will kill an FTP upload when +it invalidates a TURL. + +#### srm: added extra fields to the srm access log + +The srm access log contains a description of every client request. In +dCache 3, several extra fields have been added. In particular for +single file requests, the access log now contains the path of the file +to which the request applies. + +#### webdav: use relative links in generated HTML + +The default templates for the HTML view of the `webdav` door now use +relative links. This should make it easier to use the door behind a +reverse proxy or load balancer. + +#### webdav: allow template to be reloaded at runtime + +The `webdav` service generates the HTML view from admin configurable +template files. A `reload template` command was added to trigger the +template to be reloaded at runtime. The new +`webdav.enable.auto-reload.templates` configuration property may be +used to enable automatic reloading whenever the template changes. + +#### xrootd: select mover queue by application name + +The `xrootd` door can now select a pool mover queue by client application +name. See the documentation of the `xrootd.app-ioqueue` configuration +prefix in `xrootd.properties` for details. + +It should be stressed that the application name is submitted by the +client and is easy to fake. + +#### xrootd: recognize oss.asize parameter + +Xrootd clients submit the file size upon upload as an `oss.asize` +property. dCache now recognizes this property and uses it in space +reservations, pool selection, and file verification. If the uploaded +file does not match the specified size, the file is marked as broken. + +#### nfs: autodiscovery of nfs4domain for idmapping + +For correct user id mapping nfs4 requires that server and client use +the same naming scope, called nfs4domain. This implies a consistent +configuration on both sides. To lower deployment overhead a special +auto-discovery mechanism was introduced by SUN Microsystems - a DNS +TXT record. Staring from version 3.0 dcache supports this discovery +mechanism. When `nfs.domain` property is set, it gets used. If it's +left unset, then DNS TXT record for `_nfsv4idmapdomain` is taken or +the default `localdomain` is used when DNS record is absent. + +See [nfsmapid and DNS TXT Records](http://docs.oracle.com/cd/E19253-01/816-4555/epubp/index.html) for more information. + +#### nfs: improved protocol compatibility and stability + +Nfs door now can share a single mover between multiple transfers to a +file by the same user coming from the same host. This should improve +compatibility with existing clients as they expect such behavior which +is allowed by nfs protocol specification. + +#### nfs: added support for flexfile file layout + +Flexfile layout type aims to be an extension to pNFS to allow the use of +storage devices in a fashion such that they require only a quite limited +degree of interaction with the metadata server. The RHEL 7.2 and it's +derivatives are providing experimental support for flexfile layout +type. With this release, dcache starts to issue flexfile layouts if +requested by a client. + +#### Add support for the HAProxy proxy protocol + +The `ftp`, `xrootd`, `webdav`, `srm`, `httpd`, and `frontend` services +have been extended with support for the HAProxy proxy +protocol. HAProxy or similar load balancers are essential components +of a high availability deployment. + +These load balancers act as frontends for redundant services in +dCache. One problem of using such a proxy is that the real IP address +of the client is hidden from dCache, thus obscuring dCache log files +and hindering network based pool selection. + +The HAProxy proxy protocol is an adhoc standard supported by many load +balancers and proxy servers. It adds a small header to the connection +between the proxy and the backend service revealing the IP address of +the client to the backend. The new configuration properties +`.enable.proxy-protocol` enable support for this protocol. *Note*: +Once enabled, direct access from client to the respective door must be +blocked as clients would otherwise be able to conceal their real address +to the service. + +Check the documentation in the relevant default `.properties` files +for information of which versions of the proxy protocol are supported. + + +#### New mechanism for determining services to monitor + +The `httpd` service - both the old style and the newer `webadmin` +interfaces - monitor other services in dCache. The mechanism for +determining which services to monitor has changed. In the past the +list of services was configured in `httpd`; this has been replaced by +a multi-cast topic. Any service subscribing to this topic will be +monitored and shown in the web interface. + + +The name of the topic is defined by the property +`dcache.topic.watched`, although there shouldn't be a need to change +this (maybe if one wants to partition the services to be monitored by +multiple `httpd` instances, one could consider introducing multiple +topics, but why one may want to do this eludes me). The important part +is that this is the topic a service should subscribe to if it should +be monitored. By default, `gplazma`, `pnfsmanager`, `poolmanager`, +`spacemanager`, and `srmmanager` subscribe to this topic. Doors and +pools are discovered through other means and are monitored despite not +subscribing to the topic. + + + + +#### Production ready support for high availability deployments + +As may have been obvious from several of the changes above, lots of +work went into enabling high availability (HA) deployments with +dCache. Some benefits of such a deployment are: + +- No single point of failures +- Rolling updates +- Horizontal scaling +- Symmetric deployments + +For most parts, there isn't much to configure for an HA deployment as +one can simply deploy several instances of the various services. There +are however several pitfalls, e.g. which databases should be shared +and which should not. Available documentation should be studied +carefully and any deployment should be tested before it is rolled out +on the production system. + +Several external components are required for a true HA deployment to +load balance between doors (e.g. HAProxy) and handle HA for PostgreSQL +(repmgr). + +Also, there are still a few components that do not handle redundant +deployments well, eg. resilience and replica manager. It may be argued +that redundancy of these components is not essential. + +Controlled draining of services is currently not automated and +requires some knowledge of the inner workings of dCache. Although +support for HA may be production ready, it should currently be +considered an expert feature. + + + +- [alarms: convert log entry handling to use plugin extensions](http://github.com/dcache/dcache/commit/4e58e4c6377cd2ad3575975bef63c935fdd0760f) +- [alarms: force alarms-only-option](http://github.com/dcache/dcache/commit/39306c2e6b0ca019296d6910c9672d6cd3fb6d5b) +- [dcache-restful-api: change protocol to HTTP](http://github.com/dcache/dcache/commit/f356de5326df4de0a473a913f4850609954d210e) +- [dcap: bump max command size sent by client to 8MB](http://github.com/dcache/dcache/commit/5d0825d197d13c0cc18c625e3ebdf023f96491cf) +- [gplazma: Make gplazma.x509.use-policy-principals obsolete](http://github.com/dcache/dcache/commit/b40b8bdc1a16d1eae0ca6ab723bd8484a2aa9b20) +- [mespace/chimera: allow optionally disable move to directory having differnt storage class (and cache class)](http://github.com/dcache/dcache/commit/09abff118fa2a255d77568e213ddf558584f7432) +- [pool: close dcap accepter thread and server socket after client connects](http://github.com/dcache/dcache/commit/135522e3b97a059d021b29a9e07b7445aa7b6e4d) +- [restful-api: add create, move and rename resources](http://github.com/dcache/dcache/commit/91d183227dd04796c197b3edbda83bdcc7dc4a5d) +- [webadmin: remove error and autorefresh options from alarms page](http://github.com/dcache/dcache/commit/3b355d122a16118b9df48571b60e5fd5afd34f78) +- [webdav: add Spnego based Kerberos authentication mechanism for SSO capabilities](http://github.com/dcache/dcache/commit/159c42257703d227583268b59dbd3066ec9570a9) +- [webdav: add cors support for uploading files](http://github.com/dcache/dcache/commit/9969b3b7691f078ed985818b8543a2de5a50a67b) +- [webdav: add support for ownCloud mtime header](http://github.com/dcache/dcache/commit/b3594f06a2dbe3cd0773f185d968a2063cef350a) + + +### Changelog from 2.16.0 to 3.0 + + + +[0a40230](https://github.com/dcache/dcache/commit/0a402301c95dbd94121d05ba8fc5d9ea277d2633) +: cells: Minor optimization to routing manager when processing GetAllDomain requests + +[666ddf3](https://github.com/dcache/dcache/commit/666ddf39a1e9025dac083c7cedc7dbd1246d3c48) +: cells: Kill tunnel earlier in case of IO failures + +[f38f906](https://github.com/dcache/dcache/commit/f38f9067c3951b9a8a17a56fdcb150de4b2cd5af) +: cells: Fix a couple of locking issues in the routing manager + +[a274ac8](https://github.com/dcache/dcache/commit/a274ac80a63670783a71ff7e8e5630faf582ff82) +: cells: Less aggressive use of stack traces on slow cell shutdown + +[290517d](https://github.com/dcache/dcache/commit/290517d8a9fd5b87b0d8635fe36e3d53e282b0e2) +: cells: Fix race between publishing and killing a cell + +[603bbce](https://github.com/dcache/dcache/commit/603bbce4c6a4a005df0736d76d27381dbd2f85d4) +: srmclient: give meaningful error message if credential is missing + +[07db10c](https://github.com/dcache/dcache/commit/07db10ce8581ac1a70f17c9db3d952bd60ccee6e) +: common: add support for UserNamePrincipal as user:name + +[b063e96](https://github.com/dcache/dcache/commit/b063e96c1126779169e10909931547f4bf6d7102) +: srmclient: provide better error message if credential has expired + +[a49cc50](https://github.com/dcache/dcache/commit/a49cc502b4638d198eb9dbcdd3b758169f7eef19) +: Added 'explain login' examples to help text in Gplazma2LoginStrategy.java + +[3e868c2](https://github.com/dcache/dcache/commit/3e868c2031763e005b4f72092cbf8534711c02b0) +: info, webadmin: Check for null version + +[3f56a0e](https://github.com/dcache/dcache/commit/3f56a0eefd58feb62d3335844e10caeab2857074) +: httpd,srm,statistics: Parameterize billing service name + +[2529275](https://github.com/dcache/dcache/commit/25292750d89d2b35058ec65ee2ea42c29e1dc122) +: billing: Strip format string from attribute name + +[90bc41c](https://github.com/dcache/dcache/commit/90bc41c1ba9e9e4f5e5cb7da9913f137640c357a) +: transferObserverV1: replace Args with Joiner to construct transfers.txt lines + +[67dea34](https://github.com/dcache/dcache/commit/67dea34fb170d715ca5f051c9f2914536df91727) +: billing: Make billing indexer work with custom format strings + +[2b262f6](https://github.com/dcache/dcache/commit/2b262f6c069943392cc6356b6d03000e80966e7a) +: cells: Fix NPE in unit tests + +[99babcd](https://github.com/dcache/dcache/commit/99babcdc6e60aae51e880dc4a108546b0ce74d1c) +: dcache: update dcache-view version to 1.0.2 + +[417887f](https://github.com/dcache/dcache/commit/417887f9f5c47fcb6573bda59c1249143640ab4a) +: Revert "dcache: update dcache-view version" + +[4d8d122](https://github.com/dcache/dcache/commit/4d8d1221e2c39821456e4ef2e3c2636f3f6408a0) +: dcache: update dcache-view version + +[e8d6d40](https://github.com/dcache/dcache/commit/e8d6d400798d19c9c539ee831cddfdba58bc5bdc) +: dcap: add support for clients presenting more version metadata + +[7c2fdda](https://github.com/dcache/dcache/commit/7c2fdda9dc0db35c8e7ed15da6791eea2c312445) +: srmclient: update checkPermissions to be more robust + +[5fb5f46](https://github.com/dcache/dcache/commit/5fb5f465e60f1110af80ff3b4d460baabd8fcd79) +: srmclient: print friendly message on SRMException + +[f74b140](https://github.com/dcache/dcache/commit/f74b140a616bf12134b464039a69e3979551acf0) +: srmclient: update ls to be more robust + +[0a50d58](https://github.com/dcache/dcache/commit/0a50d58d7c3185c5631b23c2779c03ad1d016d1d) +: commons: log bugs with stack-trace and instructions + +[46f986c](https://github.com/dcache/dcache/commit/46f986c4ade14477fe1447c63c4088cf1c01ed7c) +: webdav: support template reloading + +[b3594f0](https://github.com/dcache/dcache/commit/b3594f06a2dbe3cd0773f185d968a2063cef350a) +: webdav: add support for ownCloud mtime header + +[8ade134](https://github.com/dcache/dcache/commit/8ade13437f5ca8b82d88a76bc8f526c9dfacb006) +: gplazma2-xacml: remove erroneous creation of placeholder extensions + +[91d1832](https://github.com/dcache/dcache/commit/91d183227dd04796c197b3edbda83bdcc7dc4a5d) +: restful-api: add create, move and rename resources + +[a63ae6a](https://github.com/dcache/dcache/commit/a63ae6a00ebf66221bb911b89c69e74ffb8a7856) +: cells: add event logging on cell lifecycle events + +[8aff852](https://github.com/dcache/dcache/commit/8aff8524e0fbfb9ec5c1c3e3075cfcf65c163795) +: srm: remove trailing dot from reverse lookup result + +[00d782e](https://github.com/dcache/dcache/commit/00d782e879d61fadd814b0135d22928b567bef93) +: ftp: add support for SRM cancelling an active upload + +[9969b3b](https://github.com/dcache/dcache/commit/9969b3b7691f078ed985818b8543a2de5a50a67b) +: webdav: add cors support for uploading files + +[c5aa25e](https://github.com/dcache/dcache/commit/c5aa25e91c8771ae1d3cce854edc545ba954d4ac) +: srmclient: fix async stat command + +[88a9fcf](https://github.com/dcache/dcache/commit/88a9fcf36ab69794f238a5284588fb679bd20e54) +: srmclient: implement useful subset of local filesystem commands + +[03cca24](https://github.com/dcache/dcache/commit/03cca243d4f8557f6895fe5c0e18e8160cf1d6c4) +: srmclient: fix error message for ls + +[7ce53ee](https://github.com/dcache/dcache/commit/7ce53ee079f826f914d9cb0f926481f6990a1303) +: srmclient: refrain from adding default port to SURL in srmcp + +[9f084d5](https://github.com/dcache/dcache/commit/9f084d5c5bcecc872677150dbfae5208569be26f) +: namespace: fix permissions of auto-generated directories + +[032f833](https://github.com/dcache/dcache/commit/032f833c2a9481855fe262c5b1d3b9619168e02d) +: cells: New wire and payload protocols for cell message + +[61d5753](https://github.com/dcache/dcache/commit/61d575313055703d13088b40d50ad0647e0d946a) +: cells: Minor paranoia refactoring in shutdown + +[f6cdc1f](https://github.com/dcache/dcache/commit/f6cdc1f1ddd53793df30394ca7411ce8226952f1) +: cells: Deliver cell events from the cell event thread + +[3b2ca6f](https://github.com/dcache/dcache/commit/3b2ca6f8406bc6f3979159ab2d4584a0ec4a0fee) +: poolmanager: Stop adjusting pool cost + +[4a70ec1](https://github.com/dcache/dcache/commit/4a70ec140a774b85d2bbf16a0277cb3a276d9fef) +: poolmanager: Define assumptions on pool selection + +[354aa1a](https://github.com/dcache/dcache/commit/354aa1a37c5a5b442f14a3cd57a154d104c566fe) +: pool: Add infrastructure for pool assumptions + +[095f1f5](https://github.com/dcache/dcache/commit/095f1f5ae494335c355c6f0ac80d38a9b395a65c) +: cells: Stop ZooKeeper recipies in stopping rather than stopped + +[6f89203](https://github.com/dcache/dcache/commit/6f892035e463a9bdbed1031fddb10293eba7dad7) +: poolmanager: Delay zookeeper publication of pool manager + +[0d0ea8f](https://github.com/dcache/dcache/commit/0d0ea8f3f4454370ae86856b393b5958f17358ac) +: cells: Minor cleaning of location manager + +[c0ac545](https://github.com/dcache/dcache/commit/c0ac545f7355db83a7f0fc866c2534c27845a27e) +: srmclient: fix -debug mode + +[05d3b56](https://github.com/dcache/dcache/commit/05d3b56ff8bb2a89b7d2dae732d032b294ac8c59) +: srmclient: support SIGKILL + +[03afafa](https://github.com/dcache/dcache/commit/03afafa15b8b54a2b5b49f30a14dd9e8a1210e60) +: cells: Guarantee event order for cell even listeners + +[d5f1fdb](https://github.com/dcache/dcache/commit/d5f1fdb00e66a45a037e33cef4ee8986333a9c65) +: cells: Remove race in routing manager + +[2e9e81c](https://github.com/dcache/dcache/commit/2e9e81c88eec2c08c9e56792b68fcd555e2c644e) +: poolmanager: do not use string concatenation with logging + +[e3503f4](https://github.com/dcache/dcache/commit/e3503f4ef205002382eeae12a9f16ec1743b3227) +: replicamanager: Fix race during shutdown + +[54b3a9c](https://github.com/dcache/dcache/commit/54b3a9c553005957f5b119e57f487312ca56cb59) +: cells: Fix lost interrupt exception + +[bd87c3d](https://github.com/dcache/dcache/commit/bd87c3de71eb3fe065bebc47f4aab7ab548fb277) +: cells: Ensure that newly created threads are non-daemon normal priority threads + +[ff53756](https://github.com/dcache/dcache/commit/ff537569e2a2f0ecaeecd11f17e4f6f981221f4e) +: webdav: fix Unauthorized vs Forbidden response + +[70f6602](https://github.com/dcache/dcache/commit/70f66028dd5fe16363cd65069414c5fe7d3727c1) +: pom: Update third party dependencies + +[ef0aaa1](https://github.com/dcache/dcache/commit/ef0aaa1a13611c24f89805637db1daaaea6558b0) +: doors: Fix a minor race in LoginBrokerPublisher + +[6d43a76](https://github.com/dcache/dcache/commit/6d43a767375748dbc279e604343cf546d2273ca2) +: dcache: Fix more cells that do not shut down cleanly + +[5809df2](https://github.com/dcache/dcache/commit/5809df2cc423ebd0556a3dad61a07fed2c2b9601) +: cells: Add remote domain to NDC of location manager tunnel + +[e96c0b2](https://github.com/dcache/dcache/commit/e96c0b22905f676b93c400e79cfa24affac05c6f) +: cells: Increase timeout on tunnel shutdown + +[ebfb1bc](https://github.com/dcache/dcache/commit/ebfb1bca95454398f0fc5d1f5cac2730f45ba686) +: cells: Propagate startup failures to caller + +[1509b2b](https://github.com/dcache/dcache/commit/1509b2b6d0e1bfba7f155ff261de533318f406b5) +: cells: Fix race when adding routes + +[e0b1195](https://github.com/dcache/dcache/commit/e0b11957e6b213175cfa6791dee970ad335b2a51) +: cells: Remove delayed default route if tunnel shuts down + +[c6358e3](https://github.com/dcache/dcache/commit/c6358e3d7a3b48500a9751ab4fddf257d68d04f9) +: cells: Fix race in cell shutdown + +[bf563f9](https://github.com/dcache/dcache/commit/bf563f9d8c11f327ba1e7b57cea63fea9e4d56ce) +: srmclient: add support in srmfs for uploading and downloading files + +[799698c](https://github.com/dcache/dcache/commit/799698cb6493719f8ceb71277962df927719001a) +: poolmanager: Log errors in subscriber + +[9f9bcfa](https://github.com/dcache/dcache/commit/9f9bcfacce60ad45d64a36833a710359aaf20254) +: spacemanager: Revert decision to only import link groups in leader + +[d0c3536](https://github.com/dcache/dcache/commit/d0c35361e5b3a8d378f3496cf269cb088c70651e) +: dcache: Generate proper exit code for check-config command + +[a474a77](https://github.com/dcache/dcache/commit/a474a77ee177ddb29f1649feb85b1c2e63d68051) +: spacemanager: Fix SpaceManagerHandler#toString + +[0806d87](https://github.com/dcache/dcache/commit/0806d879175acef23ad8f848ddba785135e6d2e7) +: doors: Prevent PoolMgrGetUpdateHandler storm on shutdown + +[077d1e5](https://github.com/dcache/dcache/commit/077d1e5598dbe383c70f477f38faec1640b47620) +: pool: Drop pretend limit on p2p client queue + +[3348726](https://github.com/dcache/dcache/commit/3348726f05578b0406d6ed4d3eb992e804f992d2) +: poolmanager: Improve stability of cost cuts + +[53d185b](https://github.com/dcache/dcache/commit/53d185b7531ba347109fde239bbe94c4a2e87dc1) +: cells: Refactor interaction between LocationManager and LoginManager + +[71796a5](https://github.com/dcache/dcache/commit/71796a5c0e7f861a4019df9ea6d28ceb12961bba) +: cells: Fix potential deadlock in login manager shutdown + +[3a251fd](https://github.com/dcache/dcache/commit/3a251fdc427416befb8b98e7784cfdcfa47d9f45) +: cells: Fix regression in shutdown timeout + +[a064ba9](https://github.com/dcache/dcache/commit/a064ba90a41c2a19c155b826d0a1217081b7917c) +: srm: support configuring job expiry checking period + +[cc806ed](https://github.com/dcache/dcache/commit/cc806ed16fd98bc496d460b4bdc94bfdb708d38b) +: gplazma2-ldap: add embedded jdap server for unit testing + +[05f327a](https://github.com/dcache/dcache/commit/05f327a3160857716b55305442346a86e4f191c7) +: nfs4: autodiscover nfsv4 domain used by idmapper + +[2fe6e94](https://github.com/dcache/dcache/commit/2fe6e945bc644dcb8ccd02a298355b3f9a27ab99) +: commons: fix Args string parsing and toString method + +[355fc08](https://github.com/dcache/dcache/commit/355fc086fa9537efb94897e85ed856615225032a) +: pool: ReplicaStoreCache updated to describe inner ReplicaStore + +[c08f8fe](https://github.com/dcache/dcache/commit/c08f8fe37e6aa44f2446f58c744c380a339d8e79) +: vehicles: use FileAttributes when creating namespace entries + +[366182b](https://github.com/dcache/dcache/commit/366182bffc8fbee454745a820f23e50afe4ae453) +: Change version to 3.0.0-SNAPSHOT + +[4fefd4d](https://github.com/dcache/dcache/commit/4fefd4d794bf6b82a4b2793187da93b635ebe4b4) +: chimera: update postgres driver to recognize alpha/beta/rc builds + +[9582a71](https://github.com/dcache/dcache/commit/9582a7107c5a56ff533d93cf120f0f1c6c9ba8f8) +: ceph: make configurable rados pool name + +[459ddce](https://github.com/dcache/dcache/commit/459ddceb57fd74bbbcc065e97fbe4e2d87421bf3) +: dcap: use String.getBytes(UTF_8) to generate error reply + +[d509d77](https://github.com/dcache/dcache/commit/d509d7734224993ae63c5fe26bb0320622abce0e) +: ceph: use object's xattrs to store files creation and atime/mtime + +[d56eee2](https://github.com/dcache/dcache/commit/d56eee290930c6c96b5a1c5f23081d9d8d620f24) +: doors: Include IO queue in pool selection request + +[a29ba61](https://github.com/dcache/dcache/commit/a29ba61b15bcceb887c2b03da14e1e385c8ee143) +: ceph: cleanly close rados connection on pool shutdown + +[5609c21](https://github.com/dcache/dcache/commit/5609c21e0f3b4be5aa4b0a0973d58284f48776ce) +: ceph: use RadosClusterInfo to provide total and available sizes + +[cc48200](https://github.com/dcache/dcache/commit/cc4820052628fdc70e1283b77fd6db9d92aff159) +: ceph: use PoolInfo to check repository status + +[59a0995](https://github.com/dcache/dcache/commit/59a0995336105c846ba6544ba5ff0b64b85f6958) +: pool: added CEPH back-ended FileStore implementation + +[5636347](https://github.com/dcache/dcache/commit/56363473cd37e9a1324d8c3c6bdec61bd0b248dc) +: nfs: addresses returned to client must match clients address 'type' + +[8a8a2ab](https://github.com/dcache/dcache/commit/8a8a2abc648f99f519b420d04d07119d41b81422) +: nfs: add support for flexfile layout type + +[a48496b](https://github.com/dcache/dcache/commit/a48496b47b1a360fb3c86bf3b920b35aad4aa205) +: srm-manager: explain cancellation of upload + +[e5068a1](https://github.com/dcache/dcache/commit/e5068a1a89a1e93f53437b57addcbf143b77ac94) +: ftp: Fix unit test regression + +[7bd0848](https://github.com/dcache/dcache/commit/7bd08481e46be05ec2a77e3a44efce44482d7eac) +: cells: Drop some dead code + +[c9d3b2c](https://github.com/dcache/dcache/commit/c9d3b2c94005aecb024c28d6d02ba2dbf12bff12) +: cells: Add context information to connector cell + +[bede5c8](https://github.com/dcache/dcache/commit/bede5c8dd1b7309aaf17f006462dca2fdba311ef) +: cells: Let tunnel shut down wait for its processing thread to terminate + +[182a655](https://github.com/dcache/dcache/commit/182a655f873eb356ff991cce71a32ebcc318cbc3) +: cells: Add default methods to CellEventListener interface + +[78db8cf](https://github.com/dcache/dcache/commit/78db8cf9762c3eb6ea7cd64d92cabe4b77c5e118) +: pool: Make inner class of PoolCostInfo static + +[7727b28](https://github.com/dcache/dcache/commit/7727b2828c1fa49cf32b863def2ad7170a2cab58) +: pools: Drop legacy field in PoolCostInfo + +[9854e5d](https://github.com/dcache/dcache/commit/9854e5d6924992d087edd8637daf10f10d2ff612) +: ftp: Add support for the HAProxy Proxy Protocol + +[4a8bc29](https://github.com/dcache/dcache/commit/4a8bc2939f04d480c77c722053ae72628d51b5ff) +: ftp: Port FTP door to Netty + +[9f59b05](https://github.com/dcache/dcache/commit/9f59b051d5582a158bb1ca4d452e1e715845038c) +: cells: Decouple StreamEngine from LoginManager + +[c8a1a38](https://github.com/dcache/dcache/commit/c8a1a38d27274bc3e05fbf2ad3ee1c04b026a109) +: xrootd: Add support for the HAProxy Proxy Protocol + +[6c76922](https://github.com/dcache/dcache/commit/6c7692258c8e378f284ccb479d65f48211618b91) +: xrootd,pool: Upgrade to Netty 4.1 + +[b0e85c6](https://github.com/dcache/dcache/commit/b0e85c63ee9e608175c2f1d1b4cfc26f764aabc9) +: webdav: optimise directory creation + +[f0918e2](https://github.com/dcache/dcache/commit/f0918e2cbb55c6410524a0d9679890f9afe51ce1) +: vehicles: add fluent and single-item construction to FileAttributes + +[6612716](https://github.com/dcache/dcache/commit/66127161810dca9836e9145c290ce059f2339cd9) +: cells: Fix more shutdown bugs and reject send with callback on shutdown + +[2b0cbb4](https://github.com/dcache/dcache/commit/2b0cbb4ba46986ba4eddf6fc030ebb1f48b809a4) +: cells: Use ConcurrentHashMap for callback objects + +[f509447](https://github.com/dcache/dcache/commit/f509447b990a022b2017bc6b37926750799cdefb) +: pool: Ensure that post transfer service shuts down before repository + +[135522e](https://github.com/dcache/dcache/commit/135522e3b97a059d021b29a9e07b7445aa7b6e4d) +: pool: close dcap accepter thread and server socket after client connects + +[5679b20](https://github.com/dcache/dcache/commit/5679b208e90f24c4c0f32e187b0b708d79f109a7) +: pool: allow sort output of 'mover ls' by access time and size + +[26a2bd7](https://github.com/dcache/dcache/commit/26a2bd7d88b5444f7c35042aeba0b6d959ffda8d) +: poolmanager,spacemanager: Do not log delivery failure of PoolMgrGetUpdatedHandler + +[04c5a8c](https://github.com/dcache/dcache/commit/04c5a8c138df8177631a7caa716e4b0ce741f0d8) +: cells: Fix regression in message ID in replies + +[c5770fd](https://github.com/dcache/dcache/commit/c5770fd54f52ccf9f9a397830e2d8e9eb5b0023d) +: cells: Fix several shutdown related problems + +[e7323a0](https://github.com/dcache/dcache/commit/e7323a05327808c20d58b3639e763b6dd843bcce) +: dcache-webadmin: synchronize client-side filtering with server-side selection of rows on pages using picnet table filters + +[71034aa](https://github.com/dcache/dcache/commit/71034aaa796d1637de04143ffdb6175c09a6e719) +: dcache-webadmin: disable saving table filter settings to browser cookies + +[c8bc39d](https://github.com/dcache/dcache/commit/c8bc39dadabf82cdc05bde26d07da332b9cae3b1) +: dcache-webadmin: disable AJAX autorefresh on pages using picnet table filter library + +[dea1764](https://github.com/dcache/dcache/commit/dea17649349faf48086d1f58578182ddf672dc25) +: namespace: support querying information about deleted objects + +[7318a65](https://github.com/dcache/dcache/commit/7318a65f1398a0f1bd205002ab69af178fee0947) +: doors: include explanation when killing mover + +[249cb99](https://github.com/dcache/dcache/commit/249cb9927e8ef909ae1951d7156d7a4b1bacc689) +: namespace: add nlink as an attribute + +[f4e5691](https://github.com/dcache/dcache/commit/f4e5691a5144f502cdb9e735d68a013818a5d9e4) +: pool: explain why a mover was killed + +[ac50167](https://github.com/dcache/dcache/commit/ac50167d713d8991c4393de3a38208631b38f5d3) +: alarms: reset count history on reopened alarm + +[1eec7f5](https://github.com/dcache/dcache/commit/1eec7f572b729b2bcd41b7fb80a1a56a26720248) +: pool: Resolved circular bean dependencies leading to bugs during shutdown + +[eb31c0e](https://github.com/dcache/dcache/commit/eb31c0e2b0e0aa857cbf2c5c9597d811deadd1da) +: cells: Lowered log level of failure to deliver delivery failure notifications + +[bb4ddd1](https://github.com/dcache/dcache/commit/bb4ddd170c3752bca5ab7b187f3630d8a37f3471) +: cells: Bind pre-removal notification to beforeStop lifecycle callback + +[d16926e](https://github.com/dcache/dcache/commit/d16926e6c7b83a70c7c207984db32db2c47c7a70) +: doors: Announce to login broker subscribers when a door is shutting down + +[83c62ca](https://github.com/dcache/dcache/commit/83c62cab5a8ee32a41b5c6e4dd6a82d866992f14) +: cells: Log killer threads too when cell shutdown is slow + +[4a2f978](https://github.com/dcache/dcache/commit/4a2f9789b89b690a1498d4d1ffa783ca380036b0) +: cells: Log when cells have to interrupt threads to shut them down + +[f2b6b24](https://github.com/dcache/dcache/commit/f2b6b24f4dcfabba38d5139987b2079774d3b999) +: doors: Abort transfer if file is deleted during pool selection + +[ef5ff6a](https://github.com/dcache/dcache/commit/ef5ff6abb9d141a9181fa5864fb6e246e7833a2d) +: chimera: Fix IllegalStateException in inode cache + +[02c5b8b](https://github.com/dcache/dcache/commit/02c5b8b57d9e41fa33cdba7c9375294e8b741cd0) +: poolmanager: Fix shutdown regression + +[9d7493d](https://github.com/dcache/dcache/commit/9d7493d6ecf517cfb8844364faf9bc567956efb7) +: cells: Add pre removal callback + +[9f7752a](https://github.com/dcache/dcache/commit/9f7752a3bebfc00735f9800ba27b217a3b514b85) +: cells: Ensure sequential execution of lifecycle callbacks + +[42d8ccf](https://github.com/dcache/dcache/commit/42d8ccf6dca961df154d60efa13505e3b6243575) +: cells: Guard shutdown of setup manager against partial initialization + +[9285483](https://github.com/dcache/dcache/commit/928548332d148454ba684160f4f717d01a76ae42) +: poolmanager: Fix design flaw in PoolManagerHandler implementations + +[98f293f](https://github.com/dcache/dcache/commit/98f293fefb53f5ba40ec6ce4756f196aca985825) +: cells: Expose SendFlag to suppress addition of a source path + +[759a897](https://github.com/dcache/dcache/commit/759a8974b628afd0b570d1d5b042be3b594aad5f) +: cells: Fix problem with duplicate entries in source path + +[b43a705](https://github.com/dcache/dcache/commit/b43a7059fac47aa3b94d76059d1fef69dcb6816e) +: Enable automatic detection of Postgresql master + +[2c8ee66](https://github.com/dcache/dcache/commit/2c8ee66e6ea405926dc9bc91f200300735c574b4) +: webdav,frontend: Drop support for https-jglobus + +[5593c87](https://github.com/dcache/dcache/commit/5593c87cebc2e2335cf9baa19ee4b561891e9892) +: webdav,frontend,httpd: Add proxy protocol support + +[e69b0fa](https://github.com/dcache/dcache/commit/e69b0facb0dc0262c8fc3d370675390771936df6) +: dcache: Extend CanlConnectorFactoryBean to also support plain connectors + +[285a673](https://github.com/dcache/dcache/commit/285a673e0af0cfbc71847ca33bc309fd4294a4c0) +: nfs: Upgrade nfs4j + +[bbc5ea0](https://github.com/dcache/dcache/commit/bbc5ea0090f85901284132b2e3e9da7de0af81b2) +: srm: make out-of-date historic data deletion more robust + +[dffe01a](https://github.com/dcache/dcache/commit/dffe01a8b3189e6bd4dde48894daf70cb47cda34) +: srm: Add support for the proxy protocol + +[740f863](https://github.com/dcache/dcache/commit/740f86374f5429409a1fb3e7a0eb640a5e2bebcb) +: cells: Do not call shutdown from message thread + +[65a044f](https://github.com/dcache/dcache/commit/65a044f811f6d252b5ae0b3d798c9d547b0ee580) +: xrootd: Remove serialization compatibility with pre 2.11 domains + +[6e240c2](https://github.com/dcache/dcache/commit/6e240c28c6b8fcc744ebe3aadad80b1349c57d1d) +: dcache-vehicles: Remove serialization compatibility with pre 2.15 domains + +[16907b5](https://github.com/dcache/dcache/commit/16907b52d05acbd683e95165f253bdb3bd01611a) +: dcache-vehicles: Remove serialization compatibility with pre-2.12 domains + +[f8b06aa](https://github.com/dcache/dcache/commit/f8b06aa029e186393d2de2ddaf7b76a3ce0a6e78) +: cells: Remove serialization compatibility with pre-2.16 domains + +[c919c99](https://github.com/dcache/dcache/commit/c919c99159be5c3290600488daab83ad4e23c529) +: pnfsmanager: Remove support for legacy pools + +[2e255bb](https://github.com/dcache/dcache/commit/2e255bb5ff4bba432e84bfbf04cfd40fe2eaf7a2) +: cells: Drop support for legacy route updates + +[73d67b8](https://github.com/dcache/dcache/commit/73d67b87b9683214bbcdfea1d73bc27475c7e6f2) +: billing: Make service replicable + +[b5974a8](https://github.com/dcache/dcache/commit/b5974a8117fa4eaa81ca5846557c76d02e19db9f) +: webadmin: Use topic to discover services to watch + +[92b22f7](https://github.com/dcache/dcache/commit/92b22f794d80e1a7b295286e1e8ecaff152a1d8a) +: httpd: Introduce topic for discovering services to monitor + +[2a3e401](https://github.com/dcache/dcache/commit/2a3e40165ed9934fb58531eafb5a0b8d9f464a54) +: zookeeper: avoid one race in shutdown + +[ac036b4](https://github.com/dcache/dcache/commit/ac036b40d7fe23622ae23b6e41cef24be2663e17) +: zookeeper: work-around slow shutdown of SessionTrackerImpl + +[d3f34ae](https://github.com/dcache/dcache/commit/d3f34ae30a8e2e762c590267e5a3cfec38594640) +: webadmin: silence warning about future change in wicket + +[1ee61f9](https://github.com/dcache/dcache/commit/1ee61f9cb486ebe855c71a6738385b4cd6d2e19c) +: poolmanager: Reduce risk of pool manager handler update during shutdown + +[ee85984](https://github.com/dcache/dcache/commit/ee859847cb5add84f84290df193e7ef10e5b353e) +: billing: Optimize regular expressions of billing parser + +[b56ea8c](https://github.com/dcache/dcache/commit/b56ea8c2a9dbcb60d9f5b247d21151b08218d882) +: billing: Minor optimizations to path prefix computation + +[4f68ccb](https://github.com/dcache/dcache/commit/4f68ccb9ba8655a608b7aa15e36d37302d4a2f79) +: billing: Extend billing parser to recognize formatting headers + +[d9f086b](https://github.com/dcache/dcache/commit/d9f086b3c09b56c8f5c2d14f2973c764fe8e4ef8) +: billing: Let ParallelizingLineProcessor consider comments as barriers + +[aa74739](https://github.com/dcache/dcache/commit/aa747393f70b2440847c4a8d4c6eec6c3191b4e8) +: pool: Adjust JavaDoc of ReplicaStore + +[dd1f493](https://github.com/dcache/dcache/commit/dd1f4932c5d61ffa8889af31ef230faf4c5a673a) +: billing: Make billing text files self describing with format headers + +[1755681](https://github.com/dcache/dcache/commit/17556819468a3c40f0a99eff00d064aaa3c0fcab) +: billing: Do not log record if format string is empty or undefined + +[8601227](https://github.com/dcache/dcache/commit/860122710279ef7444822b6dc4554e2a3f3f74e1) +: billing: Harmonize representation of cell name + +[86dd4fe](https://github.com/dcache/dcache/commit/86dd4fece833a7f999d344b5460398c8e5cd90eb) +: cells: Prepare to change representation of unqualified cell addresses + +[92788e9](https://github.com/dcache/dcache/commit/92788e9103a8b4ed9ffc4d88706479ee371e79d9) +: cells: Fix IllegalArgumentException when reversing a terminal cell path + +[618c3b6](https://github.com/dcache/dcache/commit/618c3b6909191c54218a32aeb7529e4b708c3ea0) +: cells: Fix RejectedExecutionException during shutdown + +[2954441](https://github.com/dcache/dcache/commit/2954441c367a2ccc147b9602d31e14d0c4147b75) +: billing: Removing erroneous stack trace output + +[a2fd0be](https://github.com/dcache/dcache/commit/a2fd0be43648e5a9c3415220456c1b50ccdfd000) +: billing: Wrap cellName attribute to allow access to the cell and domain components + +[a81dec3](https://github.com/dcache/dcache/commit/a81dec3a23c0efeb1827df66913fbb77bc101eb2) +: xrootd: add support for oss.asize on upload + +[e74520d](https://github.com/dcache/dcache/commit/e74520d891af8a3cf3c7f86b4ad5ee23c5a22e6c) +: xrootd: add per-application io-queue + +[06a8baa](https://github.com/dcache/dcache/commit/06a8baa0dc948c57db5e44d8178b8666bef0707e) +: pool: update FileStore interface to handle all back-end specific operations + +[7d558ae](https://github.com/dcache/dcache/commit/7d558aeef5b7ac87ab39af746764f961512fca35) +: ftp: improve compatibility with Apache Commons FtpClient + +[7951b59](https://github.com/dcache/dcache/commit/7951b59309885436c8877a505e93cc614661d1a8) +: srm: refactor container status update and readying turls + +[ed44be4](https://github.com/dcache/dcache/commit/ed44be40a408db62df8440278ba9021dd509f847) +: dcache-restful-api/pinmanager: modify current QoS fom disk+tape to tape + +[bd52f0a](https://github.com/dcache/dcache/commit/bd52f0ab88775e6bc277910b64105a310f07302a) +: pool: Adjust failure semantics for empty client uploads + +[410c9d7](https://github.com/dcache/dcache/commit/410c9d7217113e8b62282f47c6b23564db8e68c4) +: dcache-nearline-spi: Add @since tags for newly added features + +[07090fc](https://github.com/dcache/dcache/commit/07090fc4a1f1eb591a0607001bcedf1ba4b1ab15) +: nfs: Fix pool manager subscriber startup + +[798b7b6](https://github.com/dcache/dcache/commit/798b7b62d9caf815bded45a874c82d1e57b8fdf1) +: chimera,nfs: avoid byte -> string -> byte conversions + +[4e58e4c](https://github.com/dcache/dcache/commit/4e58e4c6377cd2ad3575975bef63c935fdd0760f) +: alarms: convert log entry handling to use plugin extensions + +[f8fcd31](https://github.com/dcache/dcache/commit/f8fcd311e08a825c514040b53e0aa07da94b3bbb) +: pom: Update 3rd party dependencies + +[27c8720](https://github.com/dcache/dcache/commit/27c8720e153785e312b5aff98b98b6bb796bec82) +: srm: Include session identifier in error message when srmRm aborts an upload + +[e2ff948](https://github.com/dcache/dcache/commit/e2ff948310d8bb965df2ccbdc99402706f4533ce) +: dcache: IntelliJ code inspection refactoring + +[e3d552b](https://github.com/dcache/dcache/commit/e3d552bc6b9ec5d4e3812d1b9b7b5ffd3a0e7312) +: chimera: IntelliJ refactoring + +[c27dcdf](https://github.com/dcache/dcache/commit/c27dcdf23762bc9d124ae9e8b5d517af3e489c41) +: common-security,dcache-vehicles: IntelliJ refactoring + +[4d132b0](https://github.com/dcache/dcache/commit/4d132b0d15f3a5703370cd1c903ae2262bb4a05f) +: common: Various automated refactoring + +[6b66b04](https://github.com/dcache/dcache/commit/6b66b04de1e5158af3a43d2f83b865401374210d) +: cells: More semi automatic refactoring + +[c7c5286](https://github.com/dcache/dcache/commit/c7c52860a0848cd84307bbef409f6934fabb78d7) +: cells: Various automatic refactoring to clean up the code + +[aa0bcb9](https://github.com/dcache/dcache/commit/aa0bcb94d72454cd7b989e65523397bc4d8b548e) +: cells: Reduce reliance on AbstractCellComponent + +[76cde04](https://github.com/dcache/dcache/commit/76cde04b0d3fb63eb3fffe3ab66c8ef8f2c505b8) +: billing: Expose property to subscribe to topics + +[bc33cdd](https://github.com/dcache/dcache/commit/bc33cddad4a12b9274bfd5e0cc94ff43435946f2) +: dcache-nearline-spi: Move AbstractBlockingNearlineStorage to dcache-nearline-spi + +[c1b2f5a](https://github.com/dcache/dcache/commit/c1b2f5a68af9b085dd05eb2757fed431793a6178) +: cells: IOException is not a bug in create command + +[4e1ce03](https://github.com/dcache/dcache/commit/4e1ce030894db560d3dfca1a3af4ba6dd9fb93e4) +: cells: update CellMessage to work with initially empty messages + +[f90ced0](https://github.com/dcache/dcache/commit/f90ced010b58e9a4f99ed80b2ad77bc16ffe975b) +: transfermanager: fix querying of 3rd-party transfer + +[8e449b6](https://github.com/dcache/dcache/commit/8e449b6ccd0099fb78e8464196f7e0e2c1f46d05) +: pool: fix hsm unset command + +[3f074dc](https://github.com/dcache/dcache/commit/3f074dc354c6bc3d87c5637a85a7bdb5e7935ebd) +: doors: enforce restriction in all PnfsManager operations + +[1390c0c](https://github.com/dcache/dcache/commit/1390c0c13472376a10997d7e757567bc6cd8f3b2) +: srm: remove 'priority' support + +[818b04b](https://github.com/dcache/dcache/commit/818b04ba1c7918cdbf9ed557cdd26f6472c8c3fe) +: common: include filename in error message + +[7f280f6](https://github.com/dcache/dcache/commit/7f280f60fcab370853e9c0fdc57489b6ab900d9c) +: srmclient: do not rely on -f option of readlink + +[8f472c0](https://github.com/dcache/dcache/commit/8f472c0ca6d1ee259df322d2b56b08181af008dc) +: spacemanager: Refine errors sent on shutdown + +[2de19e3](https://github.com/dcache/dcache/commit/2de19e3bc98bad2f324e0bd424fcb8d5d5da85d5) +: poolmanager: Make pool manager replicable + +[0b94ca0](https://github.com/dcache/dcache/commit/0b94ca041c657858cef2cb0e24d27e03a5ec2de7) +: doors: Update doors to use PoolManagerHandler + +[c68b781](https://github.com/dcache/dcache/commit/c68b78162c6a96f8d7bd5f082a7bf2d09ed8785b) +: Upgrade to CANL 2.1 and BC 1.50 + +[73969aa](https://github.com/dcache/dcache/commit/73969aa5c84fd9faee92928704cdf2c226d01d5d) +: scripts: update canonicalising function + +[3b355d1](https://github.com/dcache/dcache/commit/3b355d122a16118b9df48571b60e5fd5afd34f78) +: webadmin: remove error and autorefresh options from alarms page + +[39306c2](https://github.com/dcache/dcache/commit/39306c2e6b0ca019296d6910c9672d6cd3fb6d5b) +: alarms: force alarms-only-option + +[0d6e9ab](https://github.com/dcache/dcache/commit/0d6e9ab4a888711eaf6b28630066736131011289) +: dcache: Add framework for dynamic pool manager handlers + +[7bcf592](https://github.com/dcache/dcache/commit/7bcf59280d79e019806072aafff9083142a39738) +: poolmanager: Fix incorrect correction of pool cost + +[a4ab7ed](https://github.com/dcache/dcache/commit/a4ab7ed2ccfad4ac8a90136a4575a885c2a3cda7) +: dcap: Factor out configuration option parsing + +[1a60fc0](https://github.com/dcache/dcache/commit/1a60fc09dfdb840d22b4147c7562d610857dbd7e) +: dcap: Port DCAP door to the LineBasedDoor + +[d4fb646](https://github.com/dcache/dcache/commit/d4fb646e1396f9fd991ed073541b114302bfc76a) +: cells: handle empty string pool value on staging in TransferObserver + +[ca19923](https://github.com/dcache/dcache/commit/ca199231933344fcab11646491a6639b9db5b2ab) +: dcache: Move components of line based doors to dcache-core + +[a266f9f](https://github.com/dcache/dcache/commit/a266f9f4ddfebfba59de623b41df51132ee3db5e) +: cells: Refactor message forwarding logic + +[5919c92](https://github.com/dcache/dcache/commit/5919c928a4d3a468862ce7e2e74e8806d5851c33) +: cells: Retry RETRY_ON_NO_ROUTE_TO_CELL messages when a route is added + +[731cf8d](https://github.com/dcache/dcache/commit/731cf8d2c445083ee97282d1168f4f0ea1cf55e0) +: cells: Expose SendFlag in CellStub + +[a90151e](https://github.com/dcache/dcache/commit/a90151e5c48177d2af0ecd572d14339b1f796f42) +: cells: Add SendFlag parameter to CellEndpoint#sendMessage + +[b482c56](https://github.com/dcache/dcache/commit/b482c562a3e84a0f08d96bb1b92e37675867b3ff) +: dcache: Refactor message forward logic + +[3f8cca5](https://github.com/dcache/dcache/commit/3f8cca5f51c29977d2bd9748e826b2d929105793) +: pool: include the original IOException info DiskErrorCacheException + +[e9bf69e](https://github.com/dcache/dcache/commit/e9bf69ead6c4b4a6c10fe444d957221605f8429c) +: cells: Extend CellLifeCycleAware with setup change notification + +[43c757c](https://github.com/dcache/dcache/commit/43c757c105732fb3ff7d5ed30a2411de8f3f74fa) +: cells: Separate setup notifications from setup providers + +[73846b1](https://github.com/dcache/dcache/commit/73846b1e3780c1a5638a66191223d96f13588065) +: poolmanager: Persist pool manager setup in ZooKeeper + +[16e72bc](https://github.com/dcache/dcache/commit/16e72bc4d0a678cc0bfa356b2ffca6a6ffeeb26a) +: dcache: Allow UniversalSpringCell to persist setup in zookeeper + +[d76e7d9](https://github.com/dcache/dcache/commit/d76e7d9a7977ccd1ce2f6f82f0152ef9a82217fd) +: poolmanager: Persist pool read only status in setup file + +[2e58fb2](https://github.com/dcache/dcache/commit/2e58fb2041130b70027f7b8414dddbb5157e89e1) +: cells: Drop support for the setup manager + +[adb5c04](https://github.com/dcache/dcache/commit/adb5c04c42d31f709b37f15bfe877ddafabc2ec0) +: cells: Check setup file syntax before applying it to the running cell + +[0254bf4](https://github.com/dcache/dcache/commit/0254bf4477e569a753d770dde83037f1ae6721ef) +: alarms: add ndc info to alarm info + +[25a125d](https://github.com/dcache/dcache/commit/25a125d47f46ef1b43bb7d17c9b39c547c3fd887) +: resilience: fix alarm log level + +[2baf078](https://github.com/dcache/dcache/commit/2baf078d9337f95ccf528f780c051242b7e80660) +: packages/dcache-view: depolyment of dcache-view through nexus + +[f356de5](https://github.com/dcache/dcache/commit/f356de5326df4de0a473a913f4850609954d210e) +: dcache-restful-api: change protocol to HTTP + +[e388703](https://github.com/dcache/dcache/commit/e3887032adf7b212d5b8ce74685c8761aee91bf2) +: dcache-restful-api: RestfulAPI for QoS(CDMI) CHANGE current QoS for the specified file + +[46d091d](https://github.com/dcache/dcache/commit/46d091d47f976955d85415cbd022c4db4f1580ec) +: dcache-restful-api: RestfulAPI for QoS(CDMI) CHANGE current QoS for the specified file + +[574cf49](https://github.com/dcache/dcache/commit/574cf496afec0ffc66dff89378f27d806c07ddaa) +: dcache-nearline-plugin-archetype: Include correct service loader definition + +[5d0825d](https://github.com/dcache/dcache/commit/5d0825d197d13c0cc18c625e3ebdf023f96491cf) +: dcap: bump max command size sent by client to 8MB + +[4a57c27](https://github.com/dcache/dcache/commit/4a57c27e1d21839a2866a0ac68980805c8de3117) +: frontend/dcache-restful-api: remove www-authenticate header + +[874661c](https://github.com/dcache/dcache/commit/874661c787f1dc02f8e49d95a5968580ddf151a8) +: gplazma2-argus: Update to Argus client 2.2.0 to fix dependency on VOMS library + +[9b23e68](https://github.com/dcache/dcache/commit/9b23e689acce0b9b46c9f0b3df495b02a9e3b553) +: util: expose timestamp when the instance of Transfer is created + +[09abff1](https://github.com/dcache/dcache/commit/09abff118fa2a255d77568e213ddf558584f7432) +: mespace/chimera: allow optionally disable move to directory having differnt storage class (and cache class) + +[2cd391f](https://github.com/dcache/dcache/commit/2cd391fdd9cf98f9c4fd6d0c8ac6c5fc40f42f53) +: pom: use project.version instead of derived dcache.version + +[767cf92](https://github.com/dcache/dcache/commit/767cf9260a2431a9d5b35dc586512b6923fa6f10) +: cells: Introduce annotation to flag setup affecting commands + +[d9316fd](https://github.com/dcache/dcache/commit/d9316fd6996063ae651d9e51d062622e25adb4a6) +: cells: Preserve CommandThrowableException + +[f113664](https://github.com/dcache/dcache/commit/f113664bff511ae1cb39240075d1831ea8708820) +: cells: Add default methods to CellInfoProvider and CellLifecycleAware + +[11720e4](https://github.com/dcache/dcache/commit/11720e41ce1012e1140c0e69374e0fbf83b28bfb) +: pool: Cancel permanent migration jobs when reload pool setup file + +[d12ce81](https://github.com/dcache/dcache/commit/d12ce817e74e9a4c35ac3c354fb4b8d7b618d7bc) +: pool: Allow runtime mover queue management + +[2fdbaf3](https://github.com/dcache/dcache/commit/2fdbaf39c2bda7039f24031fdc70f1c6fbbfe84d) +: dcache-restful-api: fix data type for cdmi_geographic_placement + +[5a5ed28](https://github.com/dcache/dcache/commit/5a5ed28f209332197a9efd341349ac6271b10a0f) +: dcache-restful-api: RestfulAPI for QoS(CDMI) get current QoS for the specified file + +[e8f091b](https://github.com/dcache/dcache/commit/e8f091b22e7eeb54b4d8b4e60400520dcf89efe9) +: dcache-restful-api: RestfulAPI for QoS(CDMI) + +[f433881](https://github.com/dcache/dcache/commit/f4338810627e505ebf9c3fe6e2adc59d245f69a7) +: srm: add hint to escape IDs + +[f4ad20b](https://github.com/dcache/dcache/commit/f4ad20be8272bedfd3e27feb04d0fb4ae9d178c4) +: archetype: Add archetype for creating nearline storage plugins + +[e71d9af](https://github.com/dcache/dcache/commit/e71d9afdcb56aaec13ed62c723aae6c7c0cc0c92) +: poolmanager: Fix compilation regression + +[9f991f4](https://github.com/dcache/dcache/commit/9f991f46dc1b0c4d94e1eeb63b125eaabcf51963) +: nfs: Fix race condition in transfer startup + +[ab358ba](https://github.com/dcache/dcache/commit/ab358bac3892a6ac171c81a40e4984281c4bc706) +: poolmanager: Remove dead functionality from cost module + +[2dcc9cb](https://github.com/dcache/dcache/commit/2dcc9cb7c40e7bd4cea00a30c849561f83e609b7) +: pool: Port hsm commands to annotated command structure + +[c434601](https://github.com/dcache/dcache/commit/c4346018a2a6a8696e311b81579cf73fc401cba4) +: common-cli: Refactor allowAnyOption flag + +[94af2f9](https://github.com/dcache/dcache/commit/94af2f903ed1dd4c57ea070770e2a11e26c9485a) +: pool: Remove deprecated nearline concurrency limit commands + +[b9f9c8c](https://github.com/dcache/dcache/commit/b9f9c8c1623be3b64d35b97938a3ce18966bbae4) +: common-cli: Fix compatibility with Java 7 + +[a97221d](https://github.com/dcache/dcache/commit/a97221d736c2669a0be4bfe3834df3cd04fdd984) +: cells: Minor refactoring of command interpreters + +[87a0046](https://github.com/dcache/dcache/commit/87a0046b59c532c956859e1f9a125bf59113684f) +: SrmShell.java: changed 'rx-' to 'r-x' + +[83f0bff](https://github.com/dcache/dcache/commit/83f0bffe681a3901b96ca846d43a2a820905c4c2) +: SrmShell.java: changed 'rw--' to 'rw-' in case TPermissionMode._RW + +[5dcfbfb](https://github.com/dcache/dcache/commit/5dcfbfbb9821b304a7857ad378fe65917f38a45e) +: info: fix broken unit-test + +[b20cc35](https://github.com/dcache/dcache/commit/b20cc35d073d2a9a5bc6e35d70f7ab7c72dca401) +: srm: Resolve message thead blocking issues with SRM third party copy + +[197009c](https://github.com/dcache/dcache/commit/197009c7e471d369f23472706ff3aefa9507269d) +: restful-api: make exception and error handling resful + +[5473084](https://github.com/dcache/dcache/commit/547308408b240abbf03361b95b9c7bcf0c67688e) +: pool: Fix compilation error + +[12ab3b1](https://github.com/dcache/dcache/commit/12ab3b1486244a288224393607c69fc4e91d0f64) +: spacemanager: Work around for doors resubmitting PoolAcceptFileMessage + +[5a9db09](https://github.com/dcache/dcache/commit/5a9db09c1609abddb99711c32b6a8ce7e7b1dfd3) +: pool: Rename repository and store related classes + +[d1fab17](https://github.com/dcache/dcache/commit/d1fab177046cbeb97fdb8fe71bea8f6403ce3628) +: pool: Eliminate thread in mover scheduler + +[923fbe5](https://github.com/dcache/dcache/commit/923fbe5a150f95472ae054340cd211dfdf887c6f) +: pool: Refactor BerkeleyDB meta data store to enable reuse + +[dc45cb7](https://github.com/dcache/dcache/commit/dc45cb72e986c9211f732970ac9bf3f024150afc) +: pool: Expose URI rather than File to NearlineStorage implementations + +[8ebdb0d](https://github.com/dcache/dcache/commit/8ebdb0dfa96d1e9680a8cd045ec4f730a095adb3) +: pool: Refactor MetaDataStore and FileStore to use Path rather than File + +[f91e92a](https://github.com/dcache/dcache/commit/f91e92ac93a359cc402bef4f8f1b1fc0dc511802) +: pool: Avoid direct file access in post processing + +[6282e3e](https://github.com/dcache/dcache/commit/6282e3ede95eba24bbf3f64c2ce439de01c44b70) +: pool: Extend script driver for polling scripts + +[b8f961d](https://github.com/dcache/dcache/commit/b8f961d804f02f3517ea1df47b3d31012f841817) +: vehicles: remove unused constructors + +[30f36d0](https://github.com/dcache/dcache/commit/30f36d03fa7e2519ca83e42320557ec850e1b815) +: cells: Propagate CommandExceptions as is on cell startup + +[c246de6](https://github.com/dcache/dcache/commit/c246de6cefbe63633ec6f0e972672b33e19dadae) +: pool: Fix several race conditions in migration module + +[ca6c531](https://github.com/dcache/dcache/commit/ca6c53119f6a4d12421936e016b40544d86f54c8) +: pool: Fix regression in mover set max active command + +[9b7b679](https://github.com/dcache/dcache/commit/9b7b6799633216c114bc42627c0f086f272187d6) +: pool: Fix mover leak + +[c03c489](https://github.com/dcache/dcache/commit/c03c4893c7f6a055e68bf2c0e6783123dc9de782) +: pool: Fix synchronization regression in jtm + +[856f126](https://github.com/dcache/dcache/commit/856f126632aef74a114d7bddd19461376b101a08) +: pool: Decouple checksum module from checksum scanner + +[4deb002](https://github.com/dcache/dcache/commit/4deb0025107e747a020e0b7935a6f87240065936) +: poolmanager: Move selection unit commands back into the selection unit + +[d20dc63](https://github.com/dcache/dcache/commit/d20dc636ff3bc5bd4161e8abbf2345f128b9d459) +: poolmanager: Drop resilience decorator of pool selection unit + +[a6ed2e8](https://github.com/dcache/dcache/commit/a6ed2e8f99564f89f9b925bff0d7cd29a22d8f33) +: pool: Let CellSetupProviders use setter injection + +[94c738f](https://github.com/dcache/dcache/commit/94c738fd719a889d45a95068e1270c6202976ef5) +: cell: Only implement CellSetupProvider if needed + +[f2f35f1](https://github.com/dcache/dcache/commit/f2f35f131916e576034d1c8d4e26a384c562f148) +: dcache: Isolate setup file processing from primary cells command interpreter + +[de9fbf6](https://github.com/dcache/dcache/commit/de9fbf696656032b176248d28cf16f8fcc55b14a) +: pool: Make RepositoryChannel extend SeekableByteChannel + +[2f24b07](https://github.com/dcache/dcache/commit/2f24b071ce8f3eee721acb1ef671a8153a980217) +: pool: Make checksum calculation independent of file system backend + +[79138be](https://github.com/dcache/dcache/commit/79138be2e1e3d1a901878158b89f588e885b6489) +: pool: Refactor handling of replica size in the repository + +[4a7a21d](https://github.com/dcache/dcache/commit/4a7a21dd65906c0e9dc523e8de3abe629fab831b) +: pool: Reduce number of stat calls in Bekeley DB backend + +[40a06c1](https://github.com/dcache/dcache/commit/40a06c148e4738889a98a668549e8048f2cf0d7f) +: pool: avoid NPE when querying status of a 3rd-party HTTP transfer + +[c8cf229](https://github.com/dcache/dcache/commit/c8cf22989e412089cbda8944015dad369a7e494d) +: resilience: finish the renaming of 'pnfs(id) operation' to 'file operation' + +[077e8ec](https://github.com/dcache/dcache/commit/077e8ec2bbae066da30c2e5a8309e618b85281d8) +: resilience: eliminate unnecessary update calls and fix synchronization of file op registration + +[776c0f9](https://github.com/dcache/dcache/commit/776c0f91532b6675a59d891bfca68682f3a50d33) +: resilience: repair (subtle) bug in target selection + +[e2790b0](https://github.com/dcache/dcache/commit/e2790b07b2dbc955eba997cb733eaa3f1af5251f) +: resilience: fix error in file operation updating + +[99d74a9](https://github.com/dcache/dcache/commit/99d74a9b688e386d2b7a147d5ad5e0a418b8a566) +: resilience: fix the way removal of a pool from a resilient group is handled + +[63bf4f7](https://github.com/dcache/dcache/commit/63bf4f76cbaf290cd1174114f3ec47d7a5036db2) +: resilience: fix several related bugs in transition checking when scheduling scans + +[3f88a0a](https://github.com/dcache/dcache/commit/3f88a0a17a634d386fe41f2226016ff9ad485664) +: resilience: remove restriction on storage unit linkage + +[7114a15](https://github.com/dcache/dcache/commit/7114a15eca41d84836ac7b3fde3186822f1d24a5) +: resilience: remove pool from operation table when it has been removed from a resilient group + +[2e75f75](https://github.com/dcache/dcache/commit/2e75f7510b40acdde9ce6d86096a5167a0af8339) +: resilience: allow file consumer to propagate Exception + +[96abb3d](https://github.com/dcache/dcache/commit/96abb3d3f0a279e07032f7455981e63c2e9329ab) +: httpd: change condition from numeric inequality to non-null check on TransferInfo value + +[8c2b57f](https://github.com/dcache/dcache/commit/8c2b57f18c5c12169ba316e8f62aa2ed208be56a) +: poolmanager.properties: mentioned creation of .bak file + +[239ab6c](https://github.com/dcache/dcache/commit/239ab6c304f7f0665b89aa10828a278e856b5d4b) +: alarms: fix NPE in type setter + +[871e828](https://github.com/dcache/dcache/commit/871e82846fee94f237324d3d429f710943bd174e) +: src: change literal package strings to org.dcache.util + +[eca97e9](https://github.com/dcache/dcache/commit/eca97e9606bc0a77294929ac7874b5c56b5ffae0) +: chimera: update unit-test to log ChimeraFsExceptions + +[2ef6d44](https://github.com/dcache/dcache/commit/2ef6d449966eac872503caa0560b4a3a71e0f3fa) +: src: consolidate org.dcache.commons.util, org.dcache.utils and org.dcache.util + +[ca60c87](https://github.com/dcache/dcache/commit/ca60c8761f674893c455da47d6dc1c8f122a7033) +: admin: Deprecate DSA keys + +[c43acae](https://github.com/dcache/dcache/commit/c43acae48323d29879ae3f6231068996736c1893) +: pool: Transactional bulk update meta data state in Berkeley DB + +[17575e4](https://github.com/dcache/dcache/commit/17575e44cd0f38c044df83332169ca505ccd5ad1) +: pool: Eliminate MetaDataStore#copy method + +[13a1c7a](https://github.com/dcache/dcache/commit/13a1c7aac39fafb690ed0d74ae4be6f984af98d0) +: pool: Fix bug that disables pools on non-critical errors + +[1ab5e5c](https://github.com/dcache/dcache/commit/1ab5e5cb90c83d3a35761140e81ea229ec91061f) +: webdav: avoid NPE if client fails to send a User-Agent header + +[472acb6](https://github.com/dcache/dcache/commit/472acb6a9a6c4345a907fd5302ea860173211b9d) +: pool: use a single ByteBuffer when calculating the checksum of a hole + +[7650505](https://github.com/dcache/dcache/commit/7650505cf4ae285addea5d0cffe6d26d041fed02) +: chimera: avoid extra byte array creation during inode2bytes conversion + +[e4f1b42](https://github.com/dcache/dcache/commit/e4f1b42cdf1a057ae51cb978f9572c29294425b5) +: cells: Allow local delivery of messages through queue routes + +[d3d5fc2](https://github.com/dcache/dcache/commit/d3d5fc2a42ca812c9ef70217a68d107b2abe213c) +: zookeeper: avoid race in creating log directories + +[08ee55b](https://github.com/dcache/dcache/commit/08ee55bfe42d5af4e3feb1055c97a4ba7fd58c3a) +: cells: Improve indentation of help text + +[b1a9edd](https://github.com/dcache/dcache/commit/b1a9edd440ebec18fc30822274a9fdb72b21957c) +: Make FsPath Serializable + +[3a943ef](https://github.com/dcache/dcache/commit/3a943efd68c0bee6e83377a6cc0dfb1cd0a2053e) +: pool: Port remaining rep commands to annotated command framework + +[5fc92a6](https://github.com/dcache/dcache/commit/5fc92a66dd8783e3e8bf1e00dd56874395ac18fb) +: pool: Port list commands to new command structure + +[af43905](https://github.com/dcache/dcache/commit/af43905ab69ec7043b8f7add51382a35b78347f6) +: build: add code-coverage reports + +[9830f2d](https://github.com/dcache/dcache/commit/9830f2d28c741136e82771ae5702af9d6d9985d7) +: pool: Eliminate MetaDataRecord#touch + +[7d600c5](https://github.com/dcache/dcache/commit/7d600c54a5b9b558ee46bf6992558f3b5e6b3b5b) +: pool: Refactor meta data store interface to allow bulk updates + +[39c05d1](https://github.com/dcache/dcache/commit/39c05d1fa2411f25ea2eb7c8142777aeb31675c4) +: pool: Refactor IllegalTranstionException hierarchy + +[259a34a](https://github.com/dcache/dcache/commit/259a34abc4691076f62399308337aaf849d0d623) +: pool: Refactor callback executor for flush queues + +[9e9a2ab](https://github.com/dcache/dcache/commit/9e9a2abec6d5fe169eb06b5bcfb5c62b1caa7538) +: cells: Fix local delivery to queues + +[7e0baec](https://github.com/dcache/dcache/commit/7e0baec7bfd6c26c2ff549b6b0b7098d2c4d5074) +: pool: Report file in transient state as locked when setting sticky flag + +[92fbe53](https://github.com/dcache/dcache/commit/92fbe53f16b302c91c88d2da22301d868eabfa44) +: admin: Fix compatibility with OpenSSH 7 + +[219b970](https://github.com/dcache/dcache/commit/219b9700ac429a9d3ce4bd86202b94ed50c19457) +: pool: Fix documentation error for -storage option of rep ls command + +[5180b99](https://github.com/dcache/dcache/commit/5180b992f585278c1c54b532d49c0327eb30d8e8) +: script: Do not claim success if meta data conversion failed + +[942cca1](https://github.com/dcache/dcache/commit/942cca1feaa680d39ce2c5c0cdd7062780d0aded) +: frontend: add support for user 'anonymous' + +[a8d9592](https://github.com/dcache/dcache/commit/a8d9592fb768d1606f92cfce123131794a7d6b41) +: httpd: check for null Subject in Transfer info + +[dd15a13](https://github.com/dcache/dcache/commit/dd15a13ee24ea00d9eae397fdd2878bc3734efec) +: resilience: fix incomplete behavior for pools intentionally marked "excluded" + +[291dbb1](https://github.com/dcache/dcache/commit/291dbb10aa229863519797d2b88805705f879873) +: admin: refactor login strategy + +[1dbfbe5](https://github.com/dcache/dcache/commit/1dbfbe5a8e09da9d7e86d3c75d50c0fce5b0fa25) +: webdav: fix bean creation in webdav.xml for spnego handler + +[b21b4b4](https://github.com/dcache/dcache/commit/b21b4b45016c738f8ed0ec6c65c8b410a8880da7) +: frontend: always fail request if wrong credentials are presented + +[159c422](https://github.com/dcache/dcache/commit/159c42257703d227583268b59dbd3066ec9570a9) +: webdav: add Spnego based Kerberos authentication mechanism for SSO capabilities + +[7b770bc](https://github.com/dcache/dcache/commit/7b770bced8c87384cb05082483f69ffe29f0d3cf) +: common: add ByteUnit enum and ByteUnits utility class + +[e461d40](https://github.com/dcache/dcache/commit/e461d408adea551858e9f426d1e6ee6fa6b21d71) +: restful: add ability to discover information about current user + +[070a543](https://github.com/dcache/dcache/commit/070a543ae612f80d66eeeb4ae4744365f848fb19) +: srm: enrich access log + +[c93dc6c](https://github.com/dcache/dcache/commit/c93dc6cc2d21c4aad9aa09df4e22ab83fbd9148f) +: resilience: simplify code for handling resilience requests on pools + +[d154a5f](https://github.com/dcache/dcache/commit/d154a5fdb721d4d17cbe711c0aca53ebf37a33d3) +: resilience: fix classification of file incomplete and other errors + +[73bb943](https://github.com/dcache/dcache/commit/73bb943c989b2bd93e36b5b5d8362db26478e852) +: pool: Don't use transient error for a broken file + +[78ee625](https://github.com/dcache/dcache/commit/78ee625dbd0d4893af6eb6036e2f81c0394a6a2e) +: admin: Drop old ssh 1 keys + +[85811a2](https://github.com/dcache/dcache/commit/85811a2303115e3ff60efc1bfc714c68bdb2fc06) +: pool: Add error codes to p2p failures + +[61ee15f](https://github.com/dcache/dcache/commit/61ee15f577515fcd95848285083d4caeadcb282d) +: pool: Make final state update after upload atomic + +[586e62f](https://github.com/dcache/dcache/commit/586e62f60fb94fe30d5fc11080da6fe6357f3711) +: pool: Lower log level of certain failures to create mover + +[56fb782](https://github.com/dcache/dcache/commit/56fb782d5bc75b218ae55112bd49def78829cedf) +: chimera-nfs: fix broken commit 4682fd3 + +[4682fd3](https://github.com/dcache/dcache/commit/4682fd3b77e122815f6eb4a208f24f8dc99b7a5e) +: chimera: move byte <=> FsInode conversion into nfs specific part + +[e5a0042](https://github.com/dcache/dcache/commit/e5a00425abc41e6feda3278aa98ddc811498bd84) +: pool: fix staging for CopyNearlineStorage + +[b34c3de](https://github.com/dcache/dcache/commit/b34c3de750d23b15a1abe6291403772f2c74118d) +: REST-api: fix permission denied. + +[8b1d1e1](https://github.com/dcache/dcache/commit/8b1d1e1784305a4af53c23622df0631253dfdd53) +: frontend: remove prompt login onloading dCacheView + +[e717ffe](https://github.com/dcache/dcache/commit/e717ffe42a1ebb804425bea58e96b98bb2de9b66) +: resilience: add checked location selection exception + +[8ddded0](https://github.com/dcache/dcache/commit/8ddded0b6dd829587bec3c4ed48ae054858a0e23) +: resilience: fail when source retry is requested with only one possible source + +[6f3dfc7](https://github.com/dcache/dcache/commit/6f3dfc7950888740f618e4a1f70f53dc1285be09) +: pools: restore correct command names + +[12eeda4](https://github.com/dcache/dcache/commit/12eeda4bdc98ba665b7e90635b12b928fc4d8eca) +: pool: Add open flush mode + +[b40b8bd](https://github.com/dcache/dcache/commit/b40b8bdc1a16d1eae0ca6ab723bd8484a2aa9b20) +: gplazma: Make gplazma.x509.use-policy-principals obsolete + +[ddfdbd0](https://github.com/dcache/dcache/commit/ddfdbd0d49657dc9ac3a7039c9baca5999acfdfe) +: cells: Drop legacy cells communication + +[459680d](https://github.com/dcache/dcache/commit/459680da7cb95dd5496e8da9106c4090a10aa18c) +: Mark deprecated properties obsolete + +[0d2f9c0](https://github.com/dcache/dcache/commit/0d2f9c06875e2232c192e269e165cc109b5d4ee3) +: webdav: Fix error reporting when client is unauthorized + +[61d13ef](https://github.com/dcache/dcache/commit/61d13ef39c81009693a32a450f0e8edb1356bc7f) +: srm: Fix job expiration during service startup + +[a7860b3](https://github.com/dcache/dcache/commit/a7860b37e654e488a426eca1aa41e5ea13ef4659) +: pool: Minor refactoring of flush classes + +[887b4d3](https://github.com/dcache/dcache/commit/887b4d339374589fa6054f53f162d756e8e6dd97) +: Remove deprecated code + +[abdae03](https://github.com/dcache/dcache/commit/abdae030555286716ebad6f13ce5c33bbc756bb6) +: system-test: Enable automatic schema management for replicamanager + +[b9792c7](https://github.com/dcache/dcache/commit/b9792c79d193ed5b9739c7223a9d801dd1836703) +: billing: use in-memory buffer for hourly aggregate data + +[13a009b](https://github.com/dcache/dcache/commit/13a009ba27262d0115e01c870b4e585986983699) +: webdav: make links relative in standard template + +[95b114e](https://github.com/dcache/dcache/commit/95b114ef2f650e668fc1e0273e7d7de5b9272dbc) +: billing : fix issue wih HSQLDB backend + +[d790aa8](https://github.com/dcache/dcache/commit/d790aa84b97ef48ab46b586c6b6b921ca4a2a217) +: gplazma: don't generate a stack-trace if htaccess is malformed + +[ff48c27](https://github.com/dcache/dcache/commit/ff48c27bdf2580ce1ae5087bc9ba93d8560237f8) +: pool: Fix race in pool initialization + +[62fd200](https://github.com/dcache/dcache/commit/62fd2004f8c942e50ca64dc20e4d07a7e223fb1b) +: Revert "srmmanager: Enable multiple instances to share a database" + +[7deb9f0](https://github.com/dcache/dcache/commit/7deb9f0a8e52dd680d33e13f9180b26d4e135f2f) +: system-test: Fix Linux compatibility for populate script + +[43e7ad0](https://github.com/dcache/dcache/commit/43e7ad0ae3e898298848bb4e82068f867369cb03) +: system-test: Fix regression in populate script + +[86c8c32](https://github.com/dcache/dcache/commit/86c8c322cc1e9b260333519e99e73602e23ed97e) +: pool: Close stores after use in meta data utilities + +[2900cf9](https://github.com/dcache/dcache/commit/2900cf9dc7d29289c61bd0981c63016cb456ef15) +: Revert "pool: Close stores after use in meta data utilities" + +[504e37f](https://github.com/dcache/dcache/commit/504e37fb13de86d353775e724cf31bed0d1911ac) +: pool: Close stores after use in meta data utilities + +[cc2eb79](https://github.com/dcache/dcache/commit/cc2eb798560574699ed24492315fc8e0d4a05ee7) +: pool: Fix regressions in meta data utilities + +[0d10b6d](https://github.com/dcache/dcache/commit/0d10b6d6281edeb7c08e8ca761372889552c5763) +: system-test: Speed up liquibase update + +[74f0917](https://github.com/dcache/dcache/commit/74f09171b7125f04cc3c12d651a57d995864a572) +: Disable OCSP by default + +[ec6df2f](https://github.com/dcache/dcache/commit/ec6df2f9489b4e0adc75da8b51b768908be30229) +: srm: Fix listing of completed list requests + +[8e4253d](https://github.com/dcache/dcache/commit/8e4253dd3c85bbee77dc7302e0f9af0666302554) +: billing: re-implement population of aggregate tables + +[97290f6](https://github.com/dcache/dcache/commit/97290f606c5090a38b84d61069adf2a8b4c291da) +: dcache restful-api: adjust the response header + +[6cf3f95](https://github.com/dcache/dcache/commit/6cf3f9566be94eba40f6e9c495dd859e6e2e51f7) +: billing: Fix NoClassDefFoundError when invoking dcache billing command + +[5b92ef4](https://github.com/dcache/dcache/commit/5b92ef434694a86b2a69f89185f5ae326d60d0a8) +: httpd: Fail gracefully in case of missing options + +[870a5b7](https://github.com/dcache/dcache/commit/870a5b7aac7f6fa54ee3badc6ea15ef77cdd8d7e) +: httpd: Update cell info view for named queues and make srmmanager monitored + +[2072541](https://github.com/dcache/dcache/commit/20725411a7f80e23ef69256be83d121201c35e59) +: cells: Suppress RejectedExecutionException on shutdown + +[93c223e](https://github.com/dcache/dcache/commit/93c223ed030ceb0aa768d156a4bbfade8b12ae96) +: cells: Fix NPE during shutdown + +[a09a461](https://github.com/dcache/dcache/commit/a09a461c98b9eebbeaa3b5e3046a623623bf98ff) +: gplazma: Add PrefixRestriction and use it to validate root and upload paths + +[1b7fb03](https://github.com/dcache/dcache/commit/1b7fb03ba50b26447dc336940144feb536f460ea) +: zookeeper: Document ports used by embedded zookeeper + +[f748eba](https://github.com/dcache/dcache/commit/f748eba241ea6f316b10ee8fdf3d8985b6c87543) +: ftp: Fix regression in resolving path + +[a31c5cd](https://github.com/dcache/dcache/commit/a31c5cdf862deaaf14b1e5d8910339efc3ea1a4a) +: frontend: Expose dCacheView configuration in dCache configuration + +[89be067](https://github.com/dcache/dcache/commit/89be067283805263096a251616e173e8b2259296) +: zookeeper: Add automatic purging of old snapshots + +[6623081](https://github.com/dcache/dcache/commit/6623081fa27009ccd6bc63d0d6b60cb608606143) +: Remove example.org values from configuration defaults + +[e63d821](https://github.com/dcache/dcache/commit/e63d821579a5e0adf355625c24ccfc787decb26e) +: dCacheView: new end-user web interface for dCache + +[f47224c](https://github.com/dcache/dcache/commit/f47224c6dd361648fc2577dfad8089fc8f4131a4) +: api: Rename service to frontend + +[1aa3afd](https://github.com/dcache/dcache/commit/1aa3afd3dcbe3ef564e4061a37e6fc0b359a577c) +: api: Move rest API to separate service + +[8cd3d3e](https://github.com/dcache/dcache/commit/8cd3d3e8aafd835b6d15c465a90ec6c578c51835) +: billing: fix issue with database change rollback + +[370fc72](https://github.com/dcache/dcache/commit/370fc72b60b44691e340511fa09bd05c24c520ad) +: src: remove unused class AbstractNameSpaceProvider + +[f7511cb](https://github.com/dcache/dcache/commit/f7511cbf0280dc840cc2923bd9de779635c66070) +: srmmanager: Make scheduler ID configurable and compatible with older versions + +[2f6abfd](https://github.com/dcache/dcache/commit/2f6abfd0305e01c3cac9e74248439c17adfc5164) +: pool: Upgrade to Berkeley DB Java Edition 6.4.25 + +[b81732d](https://github.com/dcache/dcache/commit/b81732d96e95c7d79a2571c748f7f0871801301f) +: httpd: restore original fields and format to the TransferObserverV1 ascii output + +[d8ab725](https://github.com/dcache/dcache/commit/d8ab725f5cfb231fc4d27146aefd0b01d74b80e9) +: [maven-release-plugin] prepare for next development iteration + +
+
+
+ + + + + diff --git a/releases.xml b/releases.xml index a851e2b..e986fd0 100644 --- a/releases.xml +++ b/releases.xml @@ -250,7 +250,27 @@ 2.16. - + + 22.11.2016 + + _VERSION-1_all.deb + bc4384b3821937d9a6970beb66bf8627 + + + -VERSION-1.noarch.rpm + 7b1fb015a94565995a0546977b19f794 + + + -VERSION-1.pkg + a4c88299dbd3d48ba54ad08e212fc438 + + + -VERSION.tar.gz + ce670893308f954f6d609502df7b9e93 + + + + 28.10.2016 _VERSION-1_all.deb @@ -663,7 +683,27 @@ release-notes-2.15.shtml 2.15. - + + 22.11.2016 + + _VERSION-1_all.deb + 7d195be6c743f7170628451a8b31e305 + + + -VERSION-1.noarch.rpm + 2d99047ad3909571d0855b5e01f5a80f + + + -VERSION-1.pkg + c080820de80d2f2fa0b955e9dee61086 + + + -VERSION.tar.gz + 0f98ab7c35f542f5ce4657e65efcda6a + + + + 28.10.2016 _VERSION-1_all.deb @@ -1196,7 +1236,27 @@ release-notes-2.14.shtml 2.14. - + + 22.11.2016 + + _VERSION-1_all.deb + 3ea9079fc9d23be3232c726cdeb142b4 + + + -VERSION-1.noarch.rpm + d5611e522bda3b3c2e9b3e6733a61832 + + + -VERSION-1.pkg + 247d92796c44f9835a640508e2bda3d1 + + + -VERSION.tar.gz + c5b333af7d282dea51363231176a4cf0 + + + + 28.10.2016 _VERSION-1_all.deb @@ -1977,7 +2037,27 @@ release-notes-2.13.shtml 2.13. - + + 22.11.2016 + + _VERSION-1_all.deb + 586ae6ffe2ec2ba664e37c6cc5e25196 + + + -VERSION-1.noarch.rpm + f0cfae4b2cda54b989a272d7eb162c11 + + + -VERSION-1.pkg + 7d28a4d00fbaf33d71b8540b7c55522e + + + -VERSION.tar.gz + 348ff6daa47716e1afbf0114f2660069 + + + + 28.10.2016 _VERSION-1_all.deb @@ -4612,7 +4692,27 @@ release-notes-2.10.shtml 2.10. - + + 22.11.2016 + + _VERSION-1_all.deb + 17707ac275f9d5e99dd89822de92e455 + + + -VERSION-1.noarch.rpm + 1615418aa6745479035764ae311f64e6 + + + -VERSION-1.pkg + 2877a9bf6508d5a7708df518290b566d + + + -VERSION.tar.gz + 1a112a7a091adbf42f1707385835639d + + + + 14.6.2016 _VERSION-1_all.deb