dCache 2.6 Release Notes
Highlights:
- Support for certificates with SHA-2 checksum
- NFS with ACL and read-only exports
- webadmin pages with all their improvements are default
- xrootd and http movers use less resources on pools
- StAR records update
- prototype of JSON API
- new command to find out file locality
Table of contents
Upgrade Instructions
dCache 2.6 requires Java 7.
Please notice that due to the change to jpnfs-0.0.5, all NFS clients (v3 and v4) have to unmount prior update.
Please read the preliminary version of the Ultimate Golden Release Upgrade Guide carefully.
Compatibility
If NFS4.1 and HTTP PUT redirect are not used, then 2.6 doors and head nodes can be mixed with pools of releases 2.2 or newer. Doors and head nodes have to be updated at the same time.
If server side SRM copy is used dCache 2.6 is not compatible with pools of dCache 2.2.8 or before and it is also not compatible with pools of dCache 2.3.x and 2.4.x. Please upgrade the pools of dCache 2.2.8 and before to dCache 2.2.9 or higher and pools of dCache 2.3.x or 2.4.x to dCache 2.6.x in this case.
dCache 2.6.51
ftp
Fix security vulnerability in gsi and kerberos authenticated ftp.
dCache 2.6.50
Affecting multiple services
dCache uses a standard format to monitor the performance of various components: in the srm door to record how quickly SRM requests are processed (print srm counters command), the generic cell message monitoring (monitoring info command), and pnfsmanager service (the "Statistics" section in info). This release fixes a rounding error that prevents these statistics from including long-lived requests.
pinmanager
The pinmanager service has the ls command that allows the admin to limit the results to a specific pin or all pins against some PNFS-ID. This release fixes listing by pin id.
srm
This release fixes the srm service so it cancels corresponding pinmanager requests when an SRM client aborts a bring-online request.
Changelog 2.6.49 to 2.6.50
- [1fc63fa] [maven-release-plugin] prepare for next development iteration
- [03cf312] system-test: add regenerated host and user credentials
- [b0379b1] system-test: add missing dCache disposible CA certificate
- [63d1c8b] pinmanager: Fix listing by id
- [87f8fe4] srm: Abort pinning when cancelling bring-online requests
- [a20d169] common: Fix rounding error in request gauge
- [1870932] common: Fix division by zero regression in gauges
- [010fc5d] [maven-release-plugin] prepare release 2.6.50
dCache 2.6.49
dcap
Update dcap door to avoid possible NullPointerException when describing an error to the client.
Changelog 2.6.48 to 2.6.49
- [106fd51] [maven-release-plugin] prepare for next development iteration
- [13942cf] dcap: do not call toString() on error object
- [6c2c9bb] [maven-release-plugin] prepare release 2.6.49
dCache 2.6.48
pool
When a client reads a file, the pool reads blocks of data from the local filesystem. When reading such a block, the pool could receive fewer bytes than requested. Previously, the pool assumed that this only happens when the end-of-file is reached; however, this is not guaranteed. Should this assumption be violated then the data sent to the client will be corrupt. In practise, the pool's assumption is true for Linux and local filesystems; however, the code has been updated to remove this theoretical cause of corruption.
Changelog 2.6.47 to 2.6.48
- [6d000fa] [maven-release-plugin] prepare for next development iteration
- [ddfc23c] pool: Fix read corruption in HTTP mover
- [7863314] [maven-release-plugin] prepare release 2.6.48
dCache 2.6.47
pool
When attempting to upgrade non-precious and non-cached files (e.g. a file marked broken), the receiving end of the migration module would answer twice: first (correctly) with a failure and then (incorrectly) with a success. This is now fixed.
Changelog 2.6.46 to 2.6.47
- [56c9f60] [maven-release-plugin] prepare for next development iteration
- [1728267] pool: Fix bug in migration module upgrade logic
- [7399aff] [maven-release-plugin] prepare release 2.6.47
dCache 2.6.46
Changes affecting multiple services
Various scripts, including the dcache command, invoke the java command with a list of directories in which Java should look for support libraries. Previously, the current working directory was (mistakenly) included in that list. This could lead to odd behaviour; one particular example is running a dcache database command from the /etc/dcache directory. This release fixes this problem by excluding the current directory.
When there is some problem in the communication between domains and error message is logged. Previously the explanation for the problem was logged as "null". With this release, a more descriptive explanation is provided.
Changelog 2.6.45 to 2.6.46
- [b39c151] [maven-release-plugin] prepare for next development iteration
- [85dd085] Exclude cwd from classpath
- [b890561] tunnel: use toString if IOException#getMessage returns null
- [bb49f23] [maven-release-plugin] prepare release 2.6.46
dCache 2.6.45
nfs/pnfsmanager
This patch fixes a race condition in Chimera that affects the nfs door and the pnfsmanager service. The effect is that, if two clients attempt to delete the same target (a file, link or directory) at the same time then the nlink count for the parent directory is decreased twice. "At the same time" means within the time taken to process the deletion; this is instance-specific but should be much less than 1 ms for well-configured systems. Sites can repare any incorrect nlinks with the following SQL:
UPDATE t_inodes SET inlink = ( SELECT COUNT(*) FROM t_dirs WHERE t_inodes.ipnfsid = t_dirs.iparent ) WHERE itype = 16384;
This is safe to run on a running production instance, but may take some time and will affect dCache's responsiveness while running.
Changelog 2.6.44 to 2.6.45
- [981aea9] [maven-release-plugin] prepare for next development iteration
- [dbbcaeb] webadmin: ensure unique id attributes for all (currently) tested UI elements
- [e8aac16] chimera: fix race condition on remove
- [c1fec8f] [maven-release-plugin] prepare release 2.6.45
dCache 2.6.44
ftp
The response from the plain (unencrypted) ftp door if the user specifies the wrong password is badly formed. Althogh it is possible that some clients are robust against such incorrect responses, with this release the ftp door responds correctly.
webdav
Fixes a bug where, if a double-slash is present, all parts of the path leading up to the double-slash are ignored; for example, with the bug, a path like /a/b//c/d is handled as if /c/d was specified. With this release, double-slashes are treated like single slashes; the above example is handled as if /a/b/c/d was specified.
Changelog 2.6.43 to 2.6.44
- [066e8e9] [maven-release-plugin] prepare for next development iteration
- [6832bdc] webdav: fix double-slash bug by upgrading to patched milton
- [eb52b4f] ftp: fix response if user fails to authenticate to weak FTP door
- [cdda763] [maven-release-plugin] prepare release 2.6.44
dCache 2.6.43
Changes affecting multiple services
Previously releases of dCache claimed to support Java-8; however, this is not true. For Java-8 support, sites must upgrade to dCache v2.10 or newer.
httpd
Fix two minor issues when authenticating with the webadmin interface: "unauthorised access" and being redirected to the home page. The unauthorised access error can occur when selecting "Login" under the bird logo (top right corner); this is now fixed. The redirection problem occurs when selecting a tab that requires administrative privileges while not logged in; this redirects the browser to the login page. Previously, after a successful login, the browser was redirected to the home page. Now the browser is redirected to the selected tab.
Wnnhen logged in to the webadmin with admin privileges the "Pool Usage" and "Active Transfers" tabs include a "Deselect All" button that should clear all the "Selected" check-boxes. This now works.
webdav
A previous bug-fix release fixed how dCache responds when the client attempts to DELETE a non-existent file. Unfortunately, this triggered a different problem where such activity results in a stack-trace that starts java.lang.ClassCastException: java.lang.String cannot be cast to javax.security.auth.Subject. This second problem is now fixed.
Changelog 2.6.42 to 2.6.43
- [81bb612] (2.6) webadmin: fix select/deselect all on PoolUsage and ActiveTransfers
- [142cea0] [maven-release-plugin] prepare for next development iteration
- [086e5d2] (2.6) webadmin: alternative to tidy up login link in UserPanel
- [143e3f7] webdav: Alternative to fixing return code of DELETE of absent file
- [7361585] Disallow Java 8
- [1defaf7] [maven-release-plugin] prepare release 2.6.43
dCache 2.6.42
info-provider
In previous releases, the info-provider assumed the broker domain is dCacheDomain. This assumption has been removed.
nfs
Update to nfs4j v0.7.9. Avoid errors when the door is heavily loaded and the client closes a file. Avoid potential deadlock under the same circumstances. Add the pnfs and nopnfs options for controlling whether PNFS is supported. Fix parsing the exports when a host is mentioned multiple times. Note that localhost must now have an explicit entry in the exports file.
webdav
Although dCache behaves correctly if the client interrupts a proxied transfer; however, this is logged as a bug. This is now fixed.
Changelog 2.6.41 to 2.6.42
- [a77726f] [maven-release-plugin] prepare for next development iteration
- [34ddb1d] libs: update to nfs4j-0.7.9
- [4f40b74] (2.6) add .gitignore file
- [59ea3f2] info-provider: remove dCacheDomain assumption.
- [d901279] webdav: don't log a stack-track when proxy transfer is interrupted
- [55e8538] [maven-release-plugin] prepare release 2.6.42
dCache 2.6.41
Changes affecting multiple services
Although dCache system configuration property names do not contain spaces, it is possible to define such properties. Previously, doing so breaks the dcache command. This is now fixed.
srm
Previously, if the SRM client requests listing a directory, specifies a non-zero offset and does not limit the response size then dCache would fail this request with an IllegalArgumentException. This is now fixed.
webdav
With the recent upgrade of the Milton library some new behaviour was introduced. One example is that, under certain circumstances (and to support certain clients) the Milton library returns a 401 (not authorised) when attempting to delete a non-existing file. Unfortunately, this change then broke ATLAS clients. This patch updates dCache so it returns 404 (not found) under these circumstances.
Fix the response when a client requests a byte-range beyond the end of a file. This is necessary for compatibly with ARC clients.
Changelog 2.6.40 to 2.6.41
- [69edaca] [maven-release-plugin] prepare for next development iteration
- [85794c2] shell: fix shell oracle for configuration keys with a space
- [bc53148] srm: fix semi-infinite ls range with non-zero offset
- [6d4f631] webdav: Fix return code on DELETE of absent file
- [ecf142b] webdav: Fix reported content length for partial GETs
- [108e62f] [maven-release-plugin] prepare release 2.6.41
dCache 2.6.40
nfs
Under heavy load, if the nfs door is restarted, the new door may receive response messages from requests send by the previous door. In previous versions of dCache, this situation triggered a stack-trace. This is now fixed.
pool
The NFS specification allows the server to specify multiple addresses when telling the client where to connect; for example, specifying both an IPv4 and an IPv6 address, or both addresses for multi-homed machines. This requires the client to choose the appropriate interface. For Scientific Linux 6, the kernel client will always use the first supplied address in the list and fail if it cannot access the pool with that address. With this release, pools will order the list, using heuristics to select which IPv4 address is "correct" and list it first.
poolmanager
With previous dCache versions, the WAAS selection algorithm had a bug where it could (mistakenly) consider pools full if all pools had very fresh files. This is fixed with this release.
webdav
Upgrade to Milton v2.6. This fixes the buffering problem where a proxied vector read request results in the entire file being written to a tmp directory and not deleted. With this release, requests for 100 kiB or less data result in no data being written to disk; requests for more than 100 kiB are still written to disk, but only the data needed to satisfy the request is stored and the file is deleted once the response has been sent. Some issues persist: data isn't deleted if there is a failure sending it to the client and the whole file is requested from the pool.
Changelog 2.6.39 to 2.6.40
- [9d801d7] nfs: fix NPE on door reboot
- [2407341] prepare for next development iteration
- [5682747] pool: reorder ip addresses returned to NFS client
- [99006ad] Upgrade to Milton 2.6
- [fe6a44e] poolmanager: Fix full pool detection for WASS
- [03c149d] [maven-release-plugin] prepare release 2.6.40
dCache 2.6.39
httpd
In previous versions of dCache, the webadmin war file is automatically unpacked. This has been problematic as a dCache upgrade did not always trigger updating the unpacked webadmin, resulting in dCache running the older webadmin. With this release, dCache no longer unpacks the war file; the webadminWarunpackdir property is now obsolete.
dCache versions including and after 2.6.36 required sites to delete existing RRD files when upgrading; i.e., run the command rm -f /var/lib/dcache/plots/*.rrd when the domain hosting the httpd service is stopped. This release reverts that change, but requires sites that have already upgraded to repeat the rm command. Sites upgrading from an earlier dCache version do not need to delete anything.
nfs
Protect against a `NullPointerException` if the client attempts to read the contents of a file's level where that level exists in the database but contains a Nil value. This does not happen under normal circumstances.
pool
The Berkeley DB, which may be used to store file metadata on the pool, does not like being interrupted. The pool tries hard to avoid interrupting reading or writing; this release fixes one place that slipped through.
Changelog 2.6.38 to 2.6.39
- [33bcdfd] [maven-release-plugin] prepare for next development iteration
- [db961cf] (2.6) dcache-webadmin: change Jetty setting so .war is not unpacked
- [4c857ef] (2.6) dcache-webadmin: revert rrd data source names
- [c6bc4f3] pool: Avoid interrupting Berkeley DB in migration module server
- [cb3e22c] imera: protect against NPE in FsSqlDriver#read
- [14369de] [maven-release-plugin] prepare release 2.6.39
dCache 2.6.38
Changes affecting multiple services
A bug was discovered that resulted in the nlink count becoming negative. While wrong, this had a knock-on effect that prevented pnfsmanager and nfs services from listing the affected directory. With this release, directory listing are robust against such problems.
alarms
Fix alarm definition that triggers when the pool discovers a file with the wrong checksum. Previously it mistakenly triggered if an upload was incomplete.
nfs
Update nfs4j to v0.7.8. This brings some small performance benefits when listing a directory and for reading data through NFS v3.
Fix bug where, when a client read activity is proxied, the corresponding dcap mover wasn't removed if client didn't wait for the queued mover to start. Previously, such movers would accumulate on the pool.
pnfsmanager
Prevent attempts to remove the . and .. directories.
webadmin
Display the command's output in the cell admin page to use a monospace font.
Remove a javascript error due to missing clojure dependency.
Changelog 2.6.37 to 2.6.38
- [6da06c1] [maven-release-plugin] prepare for next development iteration
- [e842115] chimera: prevent attempts to remove '.' and '..'
- [96a852b] webadmin: tidy up unavailable page slightly
- [6ae8084] chimera: protect list initialization from FS inconsistencies
- [1b33547] libs: update to nfs4j-0.7.8
- [a6c6f12] nfs-proxy: kill mover if we get a timeout on redirect
- [51b66cb] (2.6) webadmin: repair css and js dependencies
- [a06ff4e] dcache-webadmin: change output field of cell admin page to monospace font
- [0dee828] alarms: fix regex for checksum alarm
- [e654b32] [maven-release-plugin] prepare release 2.6.38
dCache 2.6.37
httpd
Make webadmin functional again.
nfs
Performance improvements.
pnfsmanager
Fix the message reported when moving (or renaming) a file or directory and certain problems were found: the destination directory isn't a directory, the source doesn't exist, or overwriting with different types (e.g., overwriting a directory with a file).
poolmanager
If a site using WAAS specifies too large a Space Cost Factor then the algorithm used for write pool selection breaks down, logging Unreachable statement. Starting with this release, a warning is logged indicating the cause of the problem.
Changelog 2.6.36 to 2.6.37
- [7b06ddc] [maven-release-plugin] prepare for next development iteration
- [5937dfd] pom: update to nfs4j-0.7.7
- [4f03e1a] (2.6) pool queue plots - fix partial package refactoring and neglected removal of jndi arguments
- [5d00536] When space cost factor is large, wass may run into a problem caused by the limited precision of floating point arithmetic. When that happens the code reaches a statement that was thought to be unreachable.
- [d0315d8] chimera: Add messages to JdbcFs#move exceptions
- [4a6e55f] Fix nsswitch plugin unit-tests
- [11cb1d6] [maven-release-plugin] prepare release 2.6.37
dCache 2.6.36
Fixes affecting multiple services
Running the eval admin command so it returns a non-zero return-code would respond indicating that a bug had been found. This has been fixed.
An named environment may be executed and can contain a reference to itself. If this recursion is unchecked, eventually memory is exhausted and the domain would restart. Now an error is logged and the domain is not killed.
Previously, some exceptions were logged with the wrong cell context or without any context. This has been fixed.
billing
Billing records issued by doors never included the file's size. This is now fixed for all doors except NFS.
gplazma
The xacml plugin now supports the gums server returning GID values.
pool
Fix internal copying of files (triggered by the SRM copy command) so they respect the LAN port range.
Fix migration module's random pool selection so that it does not select pools that are full.
Fix NullPointerException triggered when using migration module's proportional pool selection and all pools are full.
The rep ls command can calculate per-storage-class statistics. This release fixes a problem where files without a storage-info would trigger an IllegalStateException when calculating these statistics.
Fix sweeping of files without a storage-info. Previously an IllegalStateException was thrown; this could be triggered by the admin interface or by the sweeper.
Fix a problem where the pool would register free space before actually deleting the file from the file system; for a brief moment, the pool would appear to have more free space that is actually available.
Periodically, pools check that dCache's internal accounting of total and free capacity does not exceed the OS supplied values for the partition (i.e., the output from the df command); if they do then the dCache internal accounting is adjusted to match. The dCache.org team have observed that, after a file is deleted, some seconds may elapse before the corresponding extra free capacity is reported by the OS. To protect pools from this effect, the total and free capacity check is suppressed for 60 seconds after a file was deleted.
srm
Fix the srm service's admin interface ls command so that listed jobs can optionally include only those that have failed, have completed or were cancelled.
webadmin
Webadmin periodically creates billing graphs by querying the billing service for the information it needs. Previously, if this query failed (e.g., the billing service was restarted or failed to start first) then no further billing graphs are generated and a domain restart is needed. As a result of this work, the properties poolqplots.refresh-interval, poolqplots.refresh-interval-unit, httpd.plots.pool-queue.refresh and httpd.plots.pool-queue.refresh.unit are no longer supported. The httpd.plots.pool-queue.min-time-step and httpd.plots.pool-queue.min-time-step.unit properties now also cover this configuration.
Changelog 2.6.35 to 2.6.36
- [7f5ac10] [maven-release-plugin] prepare for next development iteration
- [3231ab4] cell: Declassify eval failure as a bug
- [ac5421e] cell: Prevent interpreter stack overflow from killing the domain
- [7557544] srm: Fix listing of failed, done and cancelled jobs
- [edb4e58] pool: Respect LAN port range for internal srmcp transfers
- [4f91aa3] Backport PortRange extensions
- [32c70b1] (2.6) webadmin: minor improvements to rrd4j-based pool-queue plots
- [b09bb69] billing: Add file size to request records
- [abfad7c] pool: Fix pool selection bugs in migration module
- [db82e73] cell: Log exceptions within the correct cell context
- [87a46c5] Marked refresh properties obsolete.
- [c2faa9c] (2.6) webadmin: fix exit login in billing refresh loop
- [0227f1d] Made PoolQueuePlotData enum compatible with java 8.
- [590403c] pool: Fix ISE in 'rep ls'
- [e7502b8] pool: Fix ISE in CacheEntryImpl#toString
- [c6003a3] pool: Fix race leading to false positices in pool size health checks
- [6595426] pool: Fix pool size health check in case of asynchronous release of space
- [6e2a249] unit-tests: ignore broken unit-test
- [8a6119d] chimera: fix unit tests
- [0841462] gplazma-xacml: Add handling of GID returned by GUMS in gPlazma2 XACML plugin
- [7bc17dd] [maven-release-plugin] prepare release 2.6.36
dCache 2.6.35
Fixes affecting multiple services
The nfs and srm both cache replies from gPlazma to increase the speed of authenticating and identifying the user. Previously transient errors when communicating with gPlazma were also cached, delaying the recovery time from such errors. Now, such errors are not cached.
nfs
No longer trigger an NullPointerException when opening the .(parent)() dot-command file in Chimera's root directory.
pool
Fix xrootd support for vector read. The problem was discovered with ROOT v6, which reports errors like Single readv transfer is too large.
xrootd
Fix problems when calculating a response to the kXR_set request. If encountered, the problem results in the following being logged, where nnn in xrootd-disk-nnn is some integer number:
Uncaught exception in thread xrootd-disk-nnn java.lang.IllegalStateException: null
Changelog 2.6.34 to 2.6.35
- [48f751f] [maven-release-plugin] prepare for next development iteration
- [3d62236] unittests: increase timeouts and fix race in DiskSpaceAllocatorTest
- [20f303f] chimera: fix NPE on '.(parent)()' for root inode
- [e7371f0] pool: Fix xrootd vector read limits
- [14c32a7] The gPlazma cache used by NFS and SRM caches both positive and negative replies. Unfortunately it also caches failures to communicate with gPlazma. This means that a transient timeout would be cached too, thus increasing the effect of the transient error.
- [a8664b1] xrootd: Upgrade to xrootd4j 1.3.5
- [85c2860] [maven-release-plugin] prepare release 2.6.35
dCache 2.6.34
Fixes affecting multiple services
Two problems are fixed that affected those services that make use of the grid trust store (/etc/grid-security/certificates): gplazma, srm, gsiftp, webdav and xrootd:
-
When a CA is found not to have a signing-policy file, subsequent attempts to discover a signing-policy file will automatically fail for one hour. Previously, if any CA was removed since the service started then certain CAs (those using UTF-8 encoded subject RDNs) would be placed in this not-found cache by mistake. This resulted users with certificates from such CAs would succeed the first time they used dCache but all subsequent attempts would fail until the cache expires or the trust-store is refreshed.
-
A minor memory leak is fixed. The amount of memory leaked was proportial to the number of different CAs in use.
Two problems are fixed that affected services providing GSI or plain SSL authentication using the jGlobus library:
-
dCache now supports TLS v1.2 clients when using GSI or plain SSL using the jGlobus library.
-
Signal end-of-stream when remote sends a CLOSE notification. The remote party normally sends a CLOSE notification before terminating the TCP connection, typically send from server to client. Previously, receiving such a notification was treated as an error.
Fixed thread safetly of timestamp formatting, principally used in logging and generating the output of admin commands.
billing
Fixes a bug where the bytes read graph can show inflated values.
nfs
Fix permission check when client requests a list of some directory's contents.
Add support for mounting when the server-side mount-point is a sym-link.
Changelog 2.6.33 to 2.6.34
- [8bd68c5] build: Update to findbugs 3
- [b9dee4d] [maven-release-plugin] prepare for next development iteration
- [01fc70e] libs: update to nfs4j-0.7.6
- [7002521] libs: update to jglobus-2.0.6-rc7.d
- [a240c40] Avoid thread-unsafe use of SimpleDateFormatter
- [beee9fa] libs: update jglobus to 2.0.6-rc8.d
- [ec5652d] billing plots: use 'transferred' rather than 'size' for bytes
- [4d9804a] unit-tests: switch back to running unit-tests sequentially.
- [b84b6fa] common: Fix race condition in AtomicCounter unit test
- [ca5989a] [maven-release-plugin] prepare release 2.6.34
dCache 2.6.33
Utilities
The chimera-cli command is updated to provide the full usage hints if the user supplies fewer arguments than are required. With this change, the list of available commands is now also shown. This fix is from Onno Zweers. Thanks Onno!
pnfsmanager
Previously, the automatic schema management for Chimera failed to create an index on the iparent column of t_dirs table. The lack of this index results in deletions becoming progressively slower as dCache stores more files. If your dCache instance was created with dCache v2.3.0 or newer then it is likely affected by this problem. Instances created with an earlier version are not affected. The pnfsmanager service will check for the index when it starts and add the index if it is missing. Alternatively, the check may be performed manually using the dcache database update command.
pool
This release fixes several issues with the sweeper:
- Previously, the sweeper consumed considerable amount of memory while freeing up space; in the worse case, this could result in the domain running out of memory and restarting; this has been fixed.
- The sweeper ls command would make the pool unresponsive while the output is generated; now, running this command no longer prevents the pool from taking on more work.
- As the sweeper purge, sweeper free and rep rmclass commands can take a long time to finish, the admin interface does not wait for them to finish; instead, a quick response is returned and the command continues in the background. Previously there was no indication when such commands had finished; now, the pool will log when the command has completed.
- The pool logs regular sweeper operations at lower priority; this makes the pool logs less noisy when operating under normal conditions.
poolmanager
In previous versions, poolmanager would log a stack-trace if a user attempts to open a file for reading and no read pool could be found because a unit failed to match. Now the failure is logged as a normal message.
xrootd
The xrootd door now informs billing when a user uses the xrootd protocol to delete a file.
gplazma
The ldap plugin allows a door to request converting a uid or gid back to a username; currently, only the nfs door makes use of this functionality, when generating a directory list. In previous dCache releases, the plugin behaved incorrectly if the uid or gid is unknown; this is now fixed.
Changelog 2.6.32 to 2.6.33
- [24484d9] [maven-release-plugin] prepare for next development iteration
- [1ae3fb3] Update chimera-cli
- [4111f31] bugfix: fix reverseMap not throwing NoSuchPrincipalExceptions
- [076515c] poolmanager: Suppress stack trace in case of unmatch units
- [5312170] gplazma: Fix JVM implementation dependency in unit test
- [b013b61] Make JDK byte code verification bug workaround Java 8 compatible
- [b855837] info: Fix HashMap ordering assumption in unit test
- [43060fd] pool: Resolve high memory usage and other issues in sweeper
- [b6edb19] chimera: create missing index i_dirs_iparent
- [1b2ad3d] Add DelayedCommand base class
- [8bf080e] chimera: mark as-run if i_dirs_ipnfsid exists
- [8071de5] [maven-release-plugin] prepare release 2.6.33
dCache 2.6.32
Packaging
Add python-psycopg2 as recommended dependency to debian package; it's needed by the dcache-star command.
alarms
The alert should be generated if a pool's background checksum scanning ("scrubbing") discovers a broken file. With this release, such alerts are now generated.
poolmanager
Stage and pool-to-pool transfers, triggered by poolmanager, are monitored by poolmanager querying the source pool to check if the request is still active. In previous versions of dCache, for n transfers from a pool, this monitoring generated O(n*n) of network traffic. In particular, poolmanager's monitoring of bulk staging requests can result in sufficient network traffic between the pool and poolmanager that other dCache activity is impacted. With this release, the monitoring traffic is reduced in general, most prominently for large concurrent activity, such as bulk stage requests.
The rc destroy command has been removed. The implementation was incomplete and the operation was dangerous.
If the door resubmits a request to poolmanager that triggers staging of a file, poolmanager uses additional memory while waiting for the stage to complete. For bulk staging, this additional memory usage can be significant, potentially resulting in poolmanager exhausting the available memory. This release updates poolmanager so a door resubmitting a stage request does not increase the memory footprint of poolmanager.
The poolmanager has an incomplete feature called 'clumping'. This is where poolmanager can handle multiple select-pool-for-read requests for the same file as a single request. There is a hard-coded clumping limit that prevents too many files from being handled together; this allows poolmanager to choose an alternative pool when staging or replicating to make the file available. Once this limit is reached, subsequent open requests for the same file will fail in poolmanager. Doors handle this failure differently; the xrootd and webdav doors propagates this failure back to the client, while the dcap and ftp doors will resubmit the request to poolmanager. This release increases the clumping limit from 1 to 20; it also changes the behaviour of the doors so all will retry the pool-selection if the clumping limit is reached. This fixes the 'request clumping limit reached' failures.
This release fixes a race-condition between two clients opening the same file. Previously, if poolmanager starts processing the second open request as it is finishing processing the first then there is a tiny chance that the second request is lost.
Changelog 2.6.31 to 2.6.32
- [16d8e35] [maven-release-plugin] prepare for next development iteration
- [1c34af7] deb: Add python-psycopg2 as a recommended dependency
- [a27b0b2] alarms: Fix checksum alarm filter.
- [adfbde3] poolmanager: Avoid request leak
- [6346c35] poolmanager: Fix 'request clumping limit reached' failures
- [b2274f3] build: add work-around for JDK bug and PowerMock
- [d3c380b] [maven-release-plugin] prepare release 2.6.32
dCache 2.6.31
webadmin
Fixes a regression that prevented the admin from deleting alerts in the alarm system.
Improve esthetics of the pool queue plot grid.
pool
Fixes a problem where, under specific circumstances, a pool with a file's data will erroneously claim it does not have that file's data. This problem occurs only if an HTTP or xrootd client attempts to read a file immediately after uploading it; it does not affect other protocols. If a client triggers the problem then PnfsManager will remove the pool as the location of the file's data with two consequences: first, the file cannot be read; second, the orphaned entry will not be removed if the file is deleted. With this release, the problem is fixed; we recommend running the 'pnfs register' command on all pools as a precaution against orphaned entries.
info-provider
Suppress publishing NFS door endpoints. Publishing these endpoints can result in sites failing functional tests since dCache running an NFS endpoint does not mean that files are accessible from the test machine.
Changelog 2.6.30 to 2.6.31
- [c67b256] [maven-release-plugin] prepare for next development iteration
- [09100cc] (2.6) webadmin: fix regression in alarm deletion filter
- [ce38b58] dcache-webadmin: fix pool queue plot grid placeholder image
- [8af253d] pool: Fix race condition that leads to orphaned files
- [ee43118] Suppress nfs' file protocol from being published
- [d20af41] fixed the Wicket utils import statement
- [7e922ad] [maven-release-plugin] prepare release 2.6.31
dCache 2.6.30
pool
The background checksum scanner now treats files that cannot be accessed as an error rather than skipping them.
Fix the response headers when HTTP clients (such as Davix) make a request for multiple fragments of a file.
pnfsmanager
For systems using enstore, fix restoring of files with filenames that contain a '+' in the filename.
chimera
Update stored procedure to remove ambiguity in how non-ASCII characters are represented.
Changelog 2.6.29 to 2.6.30
- [256034d] [maven-release-plugin] prepare for next development iteration
- [f72cdb4] http: add minimal HEAD support in the mover
- [1fcd0e5] http: fix multipart response size
- [1449991] http: do not use new API
- [9e64298] http: fix missing imports
- [1026c38] chimera: fix handling of bytea data in path2inode and path2inodes stored procedures
- [56acecd] Fix issue with incorrect determination of whether or not a string is encoded by replacing URLDecoder with import org.springframework.web.util.UriUtils as the former does not handle '+' character.
- [0beb94d] Fix ArrayIndexOutOfBoundsException when processing multiple surls invoking srmget.
- [65c87f6] pool: log with error if checksum scanner gets an IO error
- [2484c6f] [maven-release-plugin] prepare release 2.6.30
dCache 2.6.29
xrootd
Fix redirection to IPv6 pools.
Report read requests that suffer a permission denied failure as Read permission denied rather than Write permission denied.
To allow xrootd plugins to intercept and translate errors.
Update dCache responses to avoid intermittent failures with xrdfs.
webadmin
Fix login bug that results in Access Denied page.
dcap
Provide more robust cleanup if there is a problem after the client finishes reading or writing data. The symptom is an increasing number of "active transfers" reported in the web monitoring pages. Eventually, the httpd and webadmin services consume all available memory and the domain(s) hosting them will die with an OutOfMemoryError.
Scripts
Update dCache scripts to allow running with Java 8 runtime.
Changelog 2.6.28 to 2.6.29
- [b2e0335] [maven-release-plugin] prepare for next development iteration
- [2ea796c] dcap: ensure that we remove session on DoorTransferFinishedMessage
- [a881519] scripts: allow java8 runtime
- [ff4e364] xrootd: Upgrade to xrootd4j 1.3.3
- [4c3a5b3] dcache-webadmin: fix login redirect bug which misleadingly results in Access Denied Page
- [2a18a8a] xrootd: Fix error message for read patch check
- [1313a86] xrootd: Quote IPv6 addresses in kXR_redirect replies
- [c5ba97f] [maven-release-plugin] prepare release 2.6.29
dCache 2.6.28
libraries
Update jGlobus version. This results in better error reporting for FTP transfers and X.509 certificates with a comma in the DN are handled correctly.
info-provider
Update the use of xmllint to include the '--noent' option; mitigation against CVE-2014-0191 resulted in xmllint behaving differently when '--noent' is omitted.
xrootd
Add support for additional xrootd client commands: querying the server configuration and a file's checksum, and locating a file.
pool
Add support for additional xrootd client commands: querying the server configuration and a file's checksum, and locating a file. The pool now redirects the client back to the xrootd door if the opaque part of URL is missing.
Changelog 2.6.27 to 2.6.28
- [a05b382] [maven-release-plugin] prepare for next development iteration
- [70dc459] pom: update jglobus library
- [9c59104] info-provider: fix works-by-accent bug when importing dCache config
- [2de8c09] xrootd: Backport xrootd door and mover from dCache 2.9
- [025dffb] [maven-release-plugin] prepare release 2.6.28
dCache 2.6.27
httpd
Prevent reading of configuration files.
srm
Ensure that request history information is listed chronologically.
pnfsmanager
Don't log "duplicate key" errors if the error is understood.
pool
Make pools more robust against the unexpected. Files that appear unexpectedly (e.g., an HSM script delivers a file after dCache has cancelled the request) do not trigger the pool from disabling itself but are deleted; requests to create a file that already exists trigger re-registration of that file in pnfsmanager.
Log a stack-trace for pool-to-pool transfers that encounter an extreme problem with the virtual machine.
webdav
Work-around bug in StringTemplate library that can result in NullPointerException being logged when generating an error response for the client.
Changelog 2.6.26 to 2.6.27
- [845d997] [maven-release-plugin] prepare for next development iteration
- [c88aa1a] fhs: Use gzip compression for deb package
- [e9153dd] systemtest: regenerate host credentials, add user credentials
- [f79ed0c] webdav: work-around race-condition in StringTemplate library
- [72fc9de] srm: Fix transition ordering for restored requests
- [c8600a0] pool: Log P2P fatal errors with stack trace
- [3649c9a] pool: Improve how we deal with unexpected files in pools
- [1ef0725] chimera: Fix duplicate key supression
- [67a2b75] httpd: Fix a couple of bugs
- [bea48f5] [maven-release-plugin] prepare release 2.6.27
dCache 2.6.26
nfs
This release sees several prominent NFS fixes:
- added proxy-IO for NFS read requests (NFS v4.0 and v4.1)
- fixed IO on levels and the other dot files.
- Ensure error messages are logged with the diagnostic context (the information in the square brackets).
- clean failed attempts to open a file from the pending request queue
- fix one file overwriting another by renaming it
alarms
Add missing configuration elements and documentation to support sending an email when an alert is received.
statistics
Fix NullPointerException in statistics service
pool
Report correct client IP to billing for passive FTP transfers; previously the proxy address of the FTP door was reported, even when there is a direct connection between client and pool.
poolmanager
Fix infinite loop when selecting a pool from the lru partition type.
Changelog 2.6.25 to 2.6.26
- [d79bd9f] libs: move to upstream nfs4j
- [e60f915] nfs4: implement proxy-io on read
- [8d7020a] chimera: Provide meaningful exceptions on failure to delete a file
- [501aeff] nfs4: fix orphan proxy movers
- [860c27a] libs: update nfs library to 0.7.1
- [56bc8e6] libs: update nfs code to 0.7.2
- [3c8cf0f] libs: update to bugfix nfs4j-0.7.3
- [be4c7af] nfs4: fix IO on special files
- [354277f] nfs-proxy: add support for open-less read requests
- [7a02a1b] nfs4: clean failed request from pending queue
- [ff38f77] chimera: fix rename into a file
- [2ac2428] libs: update nfs to 0.7.4
- [13fe737] chimera: fix transaction leak
- [8ab3885] nfs: return NFSERR_IO is we detect broken file on tape
- [454769f] nfs-proxy: fix logging CDC
- [6283244] libs: update to nfs4j-0.7.5
- [8248a46] nfs3: update spring xml file to match new package names
- [3fb75e4] chimera: tigger action with FsInode_PSET#setStat()
- [f325dbf] nfs: do not use CDC as try-with-resource
- [b7cd741] [maven-release-plugin] prepare release 2.6.26
dCache 2.6.25
poolmanager
Fix a problem with WASS pool selection where the selection of a pool with a large number of writers (typical of a tape read pool) would be artificially inhibited. If enough eligible pools suffer this then pool manager would report that no pool is available for staging.
Changelog 2.6.24 to 2.6.25
- [9fa01a1] [maven-release-plugin] prepare for next development iteration
- [1037fec] poolmanager,pool: Fix precision underflow in WASS
- [3c17bf4] [maven-release-plugin] prepare release 2.6.25
dCache 2.6.24
pool
Avoid that fast xrootd or HTTP clients can trigger out-of-memory exception if they write too quickly. This can happen if the pool is slow or runs out of disk space.
Fix the responsiveness of 'mover ls' when a pool is full.
ftp
Fix the CKSM command for paths containing a space.
Changelog 2.6.23 to 2.6.24
- [e9cff2e] [maven-release-plugin] prepare for next development iteration
- [77b7aca] pool: Fix lock problems in xrootd and http movers
- [62c01b2] pool: Avoid memory exhaustion problems on write with xrootd and http
- [7c28c23] ftp: fix CKSM command for files with white-space
- [d2fbc56] ftp: fix broken back-port
- [faee68c] [maven-release-plugin] prepare release 2.6.24
dCache 2.6.23
Pool
Fixed WebDAV and HTTP support for libneon clients. This includes ROOT as it now uses the davix library, which is built on libneon.
Changelog 2.6.22 to 2.6.23
- [5e8d859] [maven-release-plugin] prepare for next development iteration
- [2eb35f7] http: fix multipart reply
- [019b0a8] http: adjust unit test to multirage changes
- [559f1c8] [maven-release-plugin] prepare release 2.6.23
dCache 2.6.22
xrootd
Improve compatibility with the xrdfs, the newer xrootd client.
Fixes dCache's response to the LOCATE, LOGIN and OPEN requests.
Pool
Fixed when a replica's access-time is updated. Previously it was updated on pool-to-pool transfers and not updated for regular downloads, the opposite of what is supposed to happen. This bug affected pool garbage collection order, space cost calculation and updating the file's access time in the namespace
Fixed logging messages from migration tasks, pool-to-pool tasks, and sticky bit expiration.
Admin
Fix logged error when typing 'save' in the admin interface for a service has no configuration file.
SRM
Fix a number of problems when undertaking a third-party copy with SRM v1.1: the client ignored failures to set the file status to 'Done', it also changed the file status to 'Done' even when then transfer failed, and the server did not accept 'Failed' as a file status.
Changelog 2.6.21 to 2.6.22
- [0d59bc1] [maven-release-plugin] prepare for next development iteration
- [f8ccda3] core, billing: remove unit test
- [bf073ca] xrootd: Upgrade to xrootd4j v1.2.4
- [18f2712] pool: Fix access time update
- [5631638] Fix NPE in save command
- [223ee63] srm,srm-client: Report failure for failed SRM v1 transfers
- [bfdaa00] pool: Fix logging context for thread pool
- [551bfd0] xrootd: Upgrade to xrootd4j 1.2.5
- [853b25d] [maven-release-plugin] prepare release 2.6.22
dCache 2.6.21
Web Admin
Fix a bug in the Tape Transfer Queue page that causes a page refresh to hang occationally with "IndexOutOfBoundsException" being logged.
Pool
Fixed two problems with file migration: that cancelled permanent jobs are resurrected after a pool restart and that the migration clear command does not remove failed jobs.
Communication
Provide better logging if a dCache domain cannot connect to the host described by the dcache.broker.host property.
Changelog 2.6.20 to 2.6.21
- [f9f4489] [maven-release-plugin] prepare for next development iteration
- [1d32598] cells: Catch UnresolvedAddressException
- [5f23790] pool: Do not save terminated jobs to setup file
- [8cd1b81] pom: enforce maven-release-plugin 2.4.2
- [4972d7d] dcache-webadmin: fix ArrayIndexOutOfBounds exception in ListView (Tape Transfers page)
- [0514ea2] dcache-core, alarms: remove postgresql precondition on schema
- [079d82d] [maven-release-plugin] prepare release 2.6.21
dCache 2.6.20
Webadmin
Fixed several bugs in the statistics and info parts of the webadmin pages. Place hard-limit of 10,000 entries in alarms table.
Configuration
Add explanation of the annotations at the top of each defaults file.
Changelog 2.6.19 to 2.6.20
- [9f86596] [maven-release-plugin] prepare for next development iteration
- [0044c28] (2.6) dcache-core: fix statistics totals for top, year and month
- [f82ad29] (2.6) dcache-core (statistics): fix yet another potential NPE in tree creation
- [58a7039] (2.6) dcache-webadmin: wget xml statepath (Info page) fails with HTML 500 error
- [5ea3d0e] (2.6) dcache-webadmin: put limit on entries in alarms table
- [3777063] IPMatcher: failing tests referring to nairi.desy.de
- [bb1f2cf] defaults: add common explanation of annotations
- [f5ef61a] defaults: fix typo in common header
- [5456b4d] [maven-release-plugin] prepare release 2.6.20
dCache 2.6.19
NFS
Door provides a shorter guaranteed respond time. This helps avoid that a client backs off all activity, which needlessly slowing down traffic.
SRM
In the admin interface, the output from the ls queues command shows detailed information about requests, grouped by the type of operation. This release fixes a bug where the information in the section about downloads (GET) requests was partially incorrect: the section describing GET requests in READY state mistakenly showed 3rd-party copy requests in READY state.
Webadmin
Fix a bug discovered now that Java 7 includes stricter enforcement of code behaviour. The problem triggers stack-traces to be logged in the domain's log file with the following message: Comparison method violates its general contract!.
WebDAV
There are several reasons why a user's request is rejected from within the webdav door, some of which are not clearly distinguished. This makes diagnosing a problem harder. This release now logs the missing information at debug level.
Solaris support
Fix a bug introduced in the previous release of dCache. The effect is that the dcache command changes the node's hostname to -s.
Pool
Fix a race-condition when migrating files. The symptom is a stack-trace with the following message: java.lang.IllegalStateException: Unexpected source pool list: Exactly one item was expected, but it contained 0.
SRM, NFS
Avoid that internal statistics to prevent integer overflow on busy sites.
Changelog 2.6.18 to 2.6.19
- [baee0aa] [maven-release-plugin] prepare for next development iteration
- [fbb850a] (2.6) dcache-webadmin: fix comparison semantics
- [09cd263] srm: add missing information from "ls queues" command
- [7f8cb2d] webdav: log why request is rejected with permission denied
- [d18ba7e] nfsv41: use sort timeout between door and pool manager
- [b26298c] scripts: fix dcache script for Solaris machines
- [891f956] pool: Fix race condition in migration module
- [4e59db1] commons: use long to store updates count of a gauge
- [ad2bd1b] [maven-release-plugin] prepare release 2.6.19
dCache 2.6.18
Configuration
Fix a problem where dCache did not honour changes to the configuration. This is triggered if a new file is created. Also fix a problem where configuration files copied between nodes resulted in dCache using the the wrong host name on Macs.
Chimera: fix deleting symbolic links
Fix a bug where Chimera would delete the target of a symbolic link when instructed to delete the symbolic link.
Changelog 2.6.17 to 2.6.18
- [7bfaa67] [maven-release-plugin] prepare for next development iteration
- [aab574b] chimera: use path to get files parent on remove
- [73afa12] Fix configuration cache invalidation
- [d98247d] [maven-release-plugin] prepare release 2.6.18
dCache 2.6.17
NFS
There are two issues that this release fixes with dCache's NFS v3 implementation. It is safe to upgrade dCache with mounted client machines.
Directory tags
Provide work-around to problem where operations on directory tags gave input/output error under NFS v3. The following illustrates the kind of problems:
[root@example]# grep "" $(cat '.(tags)()') grep: .(tag)(AccessLatency): Input/output error grep: .(tag)(RetentionPolicy): Input/output error .(tag)(sGroup):store-group grep: .(tag)(OSMTemplate): Input/output error [root@example]# echo StoreName new-store-name >'.(tag)(OSMTemplate)' -bash: .(tag)(OSMTemplate): Input/output error
The underlying problem is due to the finite size NFS v3 provides for representing a file and how the tag dot-commands are represented. Before, the NFS v3 limit was reached for tag names longer than 7 characters: sGroup worked, but OSMTemplate failed. With this version of dCache, the limit is pushed back to tags longer than 28 characters. This is sufficient for the tags that dCache understands.
Creating hard links
Attempting to create hard links in dCache with NFS v3 fail with a file exists error message. This release of dCache fixes that problem.
jGlobus
Affected services: xrootd (with xrootdPlugins=gplazma:gsi), webdav (with webdavProtocol=https-jglobus), gridftp, srm.
The upgrade from jGlobus 1.8 to 2.0 introduced a performance regression: the last-modified time of CA-related files are checked for each request, which, when these files are stored on a shared filesystem, introduces unacceptable latency. This release uses an updated jGlobus that throttles how often it checks the last-modified attribute of files.
Pool-to-pool transfers
Affected services: transfermanager, replicamanager, admin.
The transfermanager, replicamanager and the admin p2p commands rely on the same underlying pool-to-pool transfer mechanism that moves files when hot files are detected or to satisfy user read requests; however, currently they are unable to initiate such transfers. This release of dCache fixes the problem.
AccessLantecy and RetentionPolicy
Fix that, under certain circumstances, dCache can log the wrong AccessLatency and RetentionPolicy information.
gPlazma
The login-result printer now also prints the public-key size for X.509 certificates.
Poolmanager
The rebalancer command accepts options to modify its behaviour. The online help has been updated to better describe these options.
Pool
The migration move and migration cache commands are mistakenly shown as migration copy commands in the output of migration ls, migration info and when saved to the setup file. This release fixes that.
Changelog 2.6.16 to 2.6.17
- [d0d37c9] [maven-release-plugin] prepare for next development iteration
- [2fe8ee8] dcap: separate protocol name and client ip in DCapProtocolInfo#toString()
- [3a20211] chimera: compact hadles passed to NFS server
- [230509e] ldap: fix filter property
- [d455861] libs: update jglobus libraries
- [3921d1e] transfermanagers, replica, admin: Fix pool to pool transfers
- [a72daf0] libs: update nfs library
- [107116e] Fix log message containing invalid access latency and retention policy values
- [cb1ba44] gPlazma: add public key size information to gPlazma results printer
- [923d867] Add help text for rebalancer.
- [3e02c48] pool: Fix command string output for migration commands
- [d4f9107] [maven-release-plugin] prepare release 2.6.17
dCache 2.6.16
Service: pool
Fix regression in the migration module that prevented it from operating only on replicas that are not sticky.
Fix dcap support for clients that create a new files by interleaving write and seek operations.
Changelog 2.6.15 to 2.6.16
- [d1ebd92] [maven-release-plugin] prepare for next development iteration
- [576b7de] correcting IoMode check for SEEK_AND_WRITE
- [8f1b507] pool: Fix -sticky option in migration module
- [cf37b17] [maven-release-plugin] prepare release 2.6.16
dCache 2.6.15
Miscellaneous
Updated the jglobus library. This solves an issue with the error message No Signing policy for <CA DN>.
Fixed compatibility issues with xrootd plugins.
Changelog 2.6.12 to 2.6.15
- [6ca18e5] libs: update jglobus library
- [339c05f] libs: update to jpnfs-0.5.9
- [55edd8c] chimera: fix handling of bytea data in path2inode and path2inodes stored procedures
- [d3f34f5] removed accidentally committed file
- [005448b] xrootd: Fix regression in GSI support
- [087e494] xrootd: Upgrade to xrootd4j 1.2.2
- [0a76076] Revert "Merge pull request #285 from DmitryLitvintsev/fix/2.6/r6196"
dCache 2.6.12
Chimera
Added stored procedures to encode file paths in SI URI so that ChimeraEnstoreStorageInfoExtractor can handle paths containing special symbols or non-ASCII characters.
Service: gplazma
Fixed a bug that could cause multiple FQANs to be created, which would result in failures in billing and spacemanager.
Service: httpd
Fixed the problem that no admin commands could be issued from the "ActiveTransfer" and from the "PoolUsage" page.
Added select/deselect all on lists on the "Pool Usage" and "Active Transfer" pages (when in authorized admin mode).
Service: srm
Fixed the meta data lookup for busy files.
Service: xrootd
Fixed some protocol compliance issues in the xrootd implementation.
Miscellaneous
Fixed a race condition of the doors in registration of mover creation and termination.
Changelog 2.6.11 to 2.6.12
- [1e8b803] Add Stored procedures to encode file paths in SI URI
- [afed0c9] srm: Fix regression in listing busy SURLs
- [cb58847] Add file that defines stored procedures
- [05e0ff2] doors: Fix race condition in registration of mover creation and termination
- [5681acb] libs: use buxfix jpnfs-0.5.8
- [1b8936b] (2.6) webadmin: fix regressions in PoolList and ActiveTransfers blocking command submission
- [a0ab2ff] (2.6) webadmin: add select-all and deselect-all to PoolList and ActiveTransfer tables
- [43f860f] dcache-xrootd: Fix stat, fix return codes
- [7209b23] chimera: fix sql exception if file name too long
- [d765a55] gplazma: Avoid multiple primary FQANs
- [b7016dd] dcache-xrootd: Upgrade to xrootd4j 1.2.1
- [cc9914f] gplazma: Fix unit tests for vorolemap plugin
dCache 2.6.11
Chimera
Improved the performance of chimera on file creation with ACL enabled.
Improved the speed of directory listing of large directories.
Service: pnfsmanager
Fixed race conditions in PnfsManager.
Service: httpd
Fixed bug where on some systems automatic cleanup of temporary directories was eliminating the webapp application files and thus causing the webadmin pages to fail to be found.
Removed the hardcoded binding of the host name to allow for ipv6 binding of the httpd service.
Fixed an issue with some of the tables in the webadmin service which were not refreshing. Update correctly occurs now on reload, resubmission of the form through link clicking, and on many pages by automatic page refresh. Fixed issues preventing the sorting of tables and subtables in webadmin.
Service: billing
Improved the insert que logic and therefore introduced the new properties billing.db.inserts.queue-delegate.type, billing.db.inserts.max-queue-size, billing.db.inserts.max-batch-size and billing.db.inserts.drop-messages-at-limit. The properties billingMaxInsertsBeforeCommit,billingMaxTimeBeforeCommitInSecs are now obsolete (but have not been marked as such).Service: spacemanager
Fixed authorization bug in space reservation for non-srm transfers.
Service: xrootd
Modified the xrootdPlugins property to be unscoped. This ensures that the property is respected when it is configured in dcache.conf. Previously it was ignored.
Service: nfs
Changed the default for nfs.idmap.legacy to be true.
Properties
New properties:- billing.db.inserts.queue-delegate.type
- billing.db.inserts.max-queue-size
- billing.db.inserts.max-batch-size
- billing.db.inserts.drop-messages-at-limit
- nfs.idmap.legacy = true
Miscellaneous
JNA jar was pulled with NFS code which led to the situation that there were two JNA jar files in /usr/share/dcache/classes/. This has been fixed.
Fixed a bug whereby a combination of gsidcap with a VOMS cert and XACML authentication/mapping failed to authorize the user.
Made srmclient scripts relocatable.
Switched jpnfs to version 0.5.6. to allow correct handling of directory listings.
Changelog 2.6.10 to 2.6.11
- [c349c0e] (2.6) webadmin: eliminate system-specific dir for unpacking of war file
- [9bce364] Renamed .gitignore to .empty-dir in conformity with dCache usage.
- [132d2aa] libs: prevent JNA jar be pulled with NFS code
- [883eb57] chimera: Fix major performance issue on file creation with ACL enabled
- [5f9073e] billing (plots): adjust upper bound of aggregate plots
- [3834dec] pnfsmanager: Use correct queue for create entry and map messages
- [e0963fe] http: fix context based pages
- [d5b9987] xrootd: Make xrootdPlugins unscoped for door
- [bc72dcd] (2.6) billing: improve the insert queue logic
- [0e4c591] namespace: relax HSM URI validation rules
- [0b3e7dc] nfsv4: use concurrent hash map for mover bookkeeping
- [7dcfc4b] Fix fix Already have 1 record(s) with pnfsPath= ... (commit 635a05a78debe247c717b6fd27c18067af676ccb to master)
- [aa35783] spacemanager: Fix authorization bug in space reservation for non-srm transfers
- [3b00bee] (2.6) hsqldb-plugin: fix transposed varchar settings
- [e892e86] (2.6) dcache: httpd service, add RequestLog to Jetty handler
- [156b708] (2.6)dcache: httpd service, remove ipv4 specific binding
- [f12852c] (2.6) javatunnel: add certificate chain to subject
- [dc1054c] allow relocation of srmclient scripts
- [3feaa3f] nfs4: include open stateid into diagnostic printouts
- [1dea3db] dcap: convert ClosedByInterruptException into InterruptException
- [ec4eb56] (2.6) dcache, webadmin: fix exception handling
- [e684d2a] chimera: use ArrayList instead of LinedList
- [d3dc1c2] (2.6)dcache-webadmin: fix page update; fix sorting
- [290fa3d] gplazma: ldap plugin: recreate dir context
- [d342d75] module: Obsolete dcache-server to make dcache package directly releasable to EMI, EGI*
- [ad9b129] nfs: fall back to numeric mapping by default
- [79e5a7c] libs: use bugfix release of jpnfs
dCache 2.6.10
Service: pool
Fixed the multi-value support of the -pnfsid option in the migration module. Also fixed the help text.
Fixed a problem with the billing database triggers which under continuous heavy loads (> 300 Hz of billing messages) led eventually to an Out-Of-Memory error in the billing domain.
Changelog 2.6.9 to 2.6.10
- [61a3a4f] pool: Fix help text and multi-value support of PNFSID filter
- [36daa9d] dcache (billing): rewrite triggers to eliminate multiple repeated updates
dCache 2.6.9
Service: pool
Fixed startup for pools that saved configuration earlier than dCache version 2.2.
Changelog 2.6.8 to 2.6.9
- [cbe993f] pool: fix startup for pools that saved configuration earlier than 2.2
dCache 2.6.8
Service: httpd
Fixed access to the active transfers html and txt pages.
Service: admin
Fixed the issue that the migration module would silently ignore unknown options. The specific problem here was that the option pnfsids, which with the trailing 's' is an invalid option, lead to move or copy all files of the pool instead of a limited number of files.
Changelog 2.6.7 to 2.6.8
- [766470b] httpd: fix access to context based pages
- [5f2a620] admin: fail commands when user supplies an option that is unknown
- [e3fbc3a] webadmin: wait untill billing cell is ready
dCache 2.6.7
Service: gplazma
Introduced the new property gplazma.ldap.userfilter to specify DN search criteria. The default value is uid = %s.
Fixed a bug in the nis plugin such that the plugin fails on invalid mapping.
Service: httpd
Introduced the possibility to sort domain entries on the CellAdmin page.
Service: spacemanager
Fixed a bug in which PoolIoFileMessage was not forwarded to pool manager when spacemanager was disabled.
Improved the performance when heavy write activity would slow down read requests, even though read requests are simply forwarded by pool manager.
Service: srm
Improved the database update logic and the job loading logic.
Service: dcap
Removed noise from dcap mover in the pinboard.
Properties
New properties:- gplazma.ldap.userfilter
Miscellaneous
Fixed the enforcement of the security flavor in the export file /etc/exports (example entry: /some/export/path *(rw,sec=krb5)) by updating the jpnfs library.
Changelog 2.6.6 to 2.6.7
- [efa2156] spacemanager: Fix forwarding when disabled and add fast forward path
- [3ef2225] *dcap, *ftp, ssh1: fix error handling
- [6f7b919] dcap: drop READV io log level from info to debug
- [a838733] gplazma-ldap: make DN search string configurable
- [d41b88a] webadmin: sort domain entries on CellAdmin page
- [1084c7d] libs: update jpnfs library
- [59d0c86] gplazma-nis: plugin should fail on invalid mapping
- [73418ab] srm: provide better logging for internal errors
- [c19f604] srm: Fix and clean up database update logic
- [f1856b4] srm: Optimize Job loading logic
dCache 2.6.6
Service: pool
Fixed a problem with restoring permanent migration jobs. A regression was introduced in dCache 2.6 in how migration jobs are restored on pool startup. The issue was that restored migration jobs would have null as the command string, which would show up in migration ls and migration info output, as well as stored back to the pool setup file when the save command was used. In the latter case, a subsequent pool restart would fail.
Service: httpd
Fixed the problem that cellinfo page was not recreated on page reload.
Service: statistics
Fixed a bug which prevented under certain conditions the top-level index.html from being created.
Service: alarms
Fixed a bug (in the Debian package) where the alarms directory (/var/lib/dcache/alarms) was owned by root instead of the user dcache.
Service: gplazma
Added a new plugin to enable banning of users.
Users to be banned need to be added to the file /etc/dcache/ban.conf as
ban <principal
type>:<value>
Example:
ban name:ernie ban kerberos:BERT@EXAMPLE.COM ban com.example.SomePrincipal:Samson
Service: doors
Fixed the problem that the empty string was not accepted for *.security.ciphers configuration properties.
Miscellaneous
Updated the nfs library to resolve problems with file overwrite and with delayed checksum calculation on write.
Fixed a regression in message queue length reporting.
Changelog 2.6.5 to 2.6.6
- [9dc4684] pkgs: Debian package missing chown for alarms directory
- [1492ece] (2.6) statistics: Fix NPE in Html tree creation
- [1bedaca] doors: Fix parsing of cipher flags
- [228edca] skel: mark as obsolete/deprecated certain dropped properties
- [aeaf732] httpd (webadmin): Fix rerendering of cellInfo page
- [0032e7b] pom: fix duplicated configuration
- [e7f609f] nfs41: make nfs service embedded gPlazma avare
- [5ed7dcb] Add a new gPlazma account phase plugin
- [8ac630f] pom: switch to jpnfs 0.5.2
- [fa5698a] Fix regression in message queue length reporting
- [4aab402] pool: Fix problems with restoring permanent migration jobs
dCache 2.6.5
Some people have reported a problem upgrading to dCache 2.6 with ownership of the function path2inodes being user postgres rather than chimera. The symptom of this problem is either dcache database update command failing with errors like
or dCache fails to start with similar errors.# dcache database update PnfsManager@namespaceDomain: ... ERROR - Change Set org/dcache/chimera/changelog/changeset-1.9.13.xml::9::tigran failed. Error: Error executing SQL CREATE OR REPLACE FUNCTION path2inodes(root varchar, path varchar, OUT inode t_inodes) RETURNS SETOF t_inodes AS $$ ... $$ LANGUAGE plpgsql;: ERROR: must be owner of function path2inodes
The problem may be solved by changing the owner of this function. The SQL to do this is
ALTER FUNCTION public.path2inodes(root character varying, path character varying, OUT inode t_inodes) OWNER TO chimera;
If the problem is not only about the path2inodes function the SQLs to change the ownership from postgres to chimera are
psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" -U postgres chimera \ | awk '{ print "alter table", $1, "owner to chimera;" }' \ | psql -U postgres chimera psql -qAt -c "select routine_name from information_schema.routines where routine_schema = 'public';" -U postgres chimera \ | awk '{ printf( "update pg_proc set proowner = (select usesysid from pg_user where usename = '"'"'chimera'"'"') where proname = '"'"'%s'"'"';\n", $1);}' \ | psql -U postgres chimera
Chimera
Fixed a problem with chimera-cli. The error message started like:
[root@vm-dcache-test ~]# chimera-cli ls / Exception in thread "main" java.lang.ClassNotFoundException: org/postgresql/Driver
Service: pool
Fixed a small memory leak that occurs whenever more than one http or more than one xrootd transfer is started on a pool.
Fixed an issue in the pool's replicateOnArrival feature. If enabled it failed with an error stating that required attributes where missing.
Service: poolmanager, doors
Fixed a regression that caused the poolmanager to forget the previously tried stage pool and thus could select the same pool twice in a row when retrying a failed stage requests. Both - pool manager and doors have to be updated, although the patch does not break any version compatibility.
Service: pnfsmanager
Fixed the problem that prevented pre 2.6 pools to use the rh restore command with a 2.6 pnfsmanager.
Service: httpd
Fixed the issue of a stack trace occasionally seen in the webadmin log file on restart of the service.
Service: billing
It is no longer required that the billing service is located on the same file partition as the httpd web server.
The database schema for the billinginfo table has been modified to include a boolean p2p indicating a pool-to-pool transfer. An sql script for migrating old data is included (/usr/share/dcache/migration/migrate_to_billing_with_p2p.sql). This is an optional procedure to make the billing table consistent which will require several hours of downtime
Added the new properties billing.plot.refresh-threshold, billing.plot.height, billing.plot.width, billing.plot.default-style and billing.plot.default-scale for the billing plots.
Fixed two bugs in the migration scripts (/usr/share/dcache/migration/migrate_from_messageinfo.sql and /usr/share/dcache/migration/migrate_from_preexistent.sql).
Fixed a bug preventing inserts into the billinginfo table.
Service: alarms
Fixed the problem that alarms messages froze the whole dCache.
Changed the default value of the
property alarms.remote-logging.level from error
to off.
Added the property alarms.server.log.level. Alarms can now be
defined at all logging levels. However, the volume of traffic sent to
the server (where the logging message is captured and converted into a
potential alarm) increases dramatically below the WARN level.
If this kind of alarm is desired, it is advisable to run
the RDBMS version of the store, as the XML store
fills up to scores of pages very quickly and searching becomes slow.
Logging messages from the logging server and the domain in which it
runs are not sent to the store, but are written to the server.log.
Substituted the property alarms.remote-logging.level
by dcache.log.level.remote.
Added the properties dcache.log.server.host
and dcache.log.server.port.
Fixed the problem that an SQL stack trace error was generated in
the httpd log under the condition that the alarmserver was not
running.
Changed the default value of the
property alarms.store.db.type from rdbms
to off, which deactivates all
attempted connections to the store.
Service: gplazma
Fixed a problem with DN extraction, where the DN of a proxy certificate rather than the DN of the user was extracted.
Service: srm
Fixed a bug that allowed users to delete files with lcg-del, srmrm and srm-advisory-delete even when set to "read-only" in storage-authzdb.
Implemented SRM_FILE_BUSY response for srmRm when another request for the same SURL exists.
Service: dcap
Fixed a race condition in cell lookup which produced a stack trace.
Service: webdav
Fixed HTTP PUT, which was broken due to a regression.
Removed the property webdavChrootToUserRoot. An authenticated users root directory is now always enforced, but only by checking that the request is within the users root path. If a user has a non-null root and accesses the root of the webdav door, a redirect to the users home directory is generated.
Properties
New properties:- billing.plot.refresh-threshold
- billing.plot.height
- billing.plot.width
- billing.plot.default-style
- billing.plot.default-scale
- dcache.log.level.file
- dcache.log.level.pinboard
- dcache.log.level.remote
- dcache.log.level.events
- dcache.log.format.file
- dcache.log.format.pinboard
- dcache.log.server.host
- dcache.log.server.port
- alarms.server.log.level
- plotPropertiesFile
Removed the property webdavChrootToUserRoot.
Miscellaneous
Logging
-
The properties dcache.log.level.file, dcache.log.level.pinboard, dcache.log.level.remote, dcache.log.level.events, dcache.log.format.file and dcache.log.format.pinboard have been added and the log levels and log formats are now customizable through dcache.conf.
The default value for the property dcache.log.level.remote has been changed to off. -
Improved the text of a log message to be more meaningful.
-
Changed the default port for remote logging from 60001 to 9867; the latter lies outside most OS ephemeral port ranges This avoids a situation in which the connection host is localhost (the default), but there is no server listening on that port, thus permitting that port to be chosen as source for the appender connection and consequently establishing a connection to itself. When this happens, the buffer quickly fills and blocks further logging, freezing all threads that do logging (effectively the entire domain)..
Fixed login manager login limit interpretation.
Fixed the problem that the info-provider was broken.
Switched the voms-api to version 2.0.6 fixing the exception problem: "Certificate verification: Maximum certification path length exceeded.".
Removed the superfluous definition loginBroker=LoginBroker in dcache.properties.
Changelog 2.6.4 to 2.6.5
- [e4fb45e] billing: restructure to use service-oriented architecture
- [f0a0721] Parameterize log levels and log formats
- [a392d80] logging: Set remote appender log level to off by default
- [fe47238] Fix quickJava for some shell versions
- [66d903d] Respect session read-only in SRM
- [ee0a892] gplazma: Fix DN extraction from proxy certificates
- [837d2eb] cells: Remove "Sending CellException to" log message
- [fbf1b3b] (2.6) dcache-webadmin (alarms): provide option for absence of alarms database
- [d9126fa] Merged master patch http://rb.dcache.org/r/5670
- [3dc5d06] webdav: Fix problems with root paths
- [1eaf227] dcache: (remote logging) change default server port to be outside ephemeral port range
- [d023179] pnfsmanager: Addresses compatibility issue with pre 2.6 pools
- [76d2793] cells: Fix login manager login limit interpretation
- [38c0d45] info-provider: Escape percent sign in entity values
- [9a938f3] poolmanager, doors: Don't retry stage requests on the same pool
- [8bc00fb] srm: Implement SRM_FILE_BUSY response
- [754fe36] dcache: alarms: Extend log level capture to all levels; fix server-side logging
- [810ca5a] dcache-webadmin: avoid rrd4j timestep error statement
- [7ec5b34] dcache: (billing) Fix incorrect MoverData field name
- [8696432] pool: Fix memory leak in xrootd and httpd movers
- [e6dcceb] cells: Fix race conditions in cell lookup
- [0d67d01] cells: Fix deadlock
- [16cacb7] pool: Add missing attributes in replicateOnArrival request
- [9b506a9] Switch voms-api version to 2.0.6
- [667ab16] Removed the old (superfluous) loginBroker=LoginBroker definition for dcache.properties.
- [7c26a49] (skel): time-unit corrections to billing migration scripts
- [90ba8d7] Add DB driver to the list of classes to load
dCache 2.6.4
Service: gplazma
Fixed the issue that authzdb may add a second UserNamePrincipal and thus cause the validation phase of a login to fail. This is a regression introduced in dCache 2.6.1.
- [fc1bf39] gplazma2-grid: Fix user name regression in authzdb plugin
dCache 2.6.3
Service: xrootd
Fixed the problem that the xrootdMoverMaxFrameSize property was ignored by the xrootd mover.
Service: nfs
Added the new property nfs.published.name to make the protocol family name configurable which is published as supported transfer protocol by SRM.
Fixed an issue which occurres when the mover takes too much time to finish.
Fixed no_root_squash exports.
Added support for old file handles which will allow to update dCache 2.2 to dCache 2.6 without remounting the existing clients.
Service: dcache, gridftp, webdav, httpd, gsidcap and SRM
Banned Diffie-Hellman ciphers if a broken version of Java (1.7.0_6
and higher) is used.
Added the new configuration
properties dcache.security.ciphers, webdav.security.ciphers,
webdav.security.ciphers, httpd.security.ciphers,
gsidcap.security.ciphers, gridftp.security.ciphers
and srm.security.ciphers.
Service: spacemanager
Fixed pre-stage with dcap when spacemanager is enabled.
Properties
New properties:- nfs.published.name
- dcache.security.ciphers
- webdav.security.ciphers
- httpd.security.ciphers
- gsidcap.security.ciphers
- srm.security.ciphers
- gridftp.security.ciphers
Miscellaneous
Fixed a compatibility issue with some versions of curl and other clients that send empty SSL messages.
Changelog 2.6.2 to 2.6.3
- [a570346] nfs: allow protocol family name be configurable
- [c35a52e] Ban all Diffie-Hellman ciphers in Java 1.7.0_6 and higher
- [a72e976] system-test: add ability to autogenerate host credentials
- [e7d6a8a] pool: Make xrootd max frame size configurable
- [d11d1cf] spacemanager: unknown message have to be sent to Poolmanager
- [0914ddd] libs: update jpnfs to 0.5.1
- [221dd50] nfs: return NFSERR_DELAY if we can't kill mover
- [59bba56] libs: Upgrade to JGlobus 2.0.6-rc3.d
dCache 2.6.2
Chimera
Fixed a bug that caused the directory mode to be corrupted in case of creation or update of a directory tag.
Service: pool
Improved log levels and log messages of common errors found in production log files.
Improved the pool performance by removing the caching behaviour of file meta backend.
Fixed an issue, when pool startup failed due to a corrupt storage info file.
Service: webadmin
Added support for banning problematic ciphers.
Service: gplazma
Simplified the mapping plugin interface.
Service: srm
Made login broker of SRM configurable and cleaned up properties.
The SRM uses two login brokers, one for lookup and one for
registration. New properties with that begin with srm.lookup
and srm.loginbroker have been introduced respectively.
Removed duplicate session ID in NDC.
Service: webdav
Fixed a problem where the interpretation of the properties webdavWantClientAuth and webdavNeedClientAuth was reversed.
Added support for banning problematic ciphers.
dcache script
dcache alarm send
Fixed a bug where the command
Miscellaneous
Fixed the problem that the HSM cleaner never received pool-up notifications by the broadcaster.
Changelog 2.6.1 to 2.6.2
- [c0387b6] system-test: avoid awkward cell.name values
- [b14356a] GLUE2: add GLUE2EndpointImplementation information
- [b5863df] Various improvements to short-lived Java invocations
- [7317640] srm: Make login broker of SRM configurable and clean up properties
- [97f7014] pool: Improve logging of common errors
- [5067c3b] dcache: alarms fix four small bugs
- [e18badc] pool: Remove caching behaviour of file meta backend
- [9e9250e] broadcast: Fix expiration of dynamic subscribers
- [5d234a7] gplazma: Simplify mapping plugin interface
- [691c062] webdav: Fix interpretation of client cert properties
- [cac019b] Add support for banning problematic ciphers for Jetty SSL connectors
- [2d993a3] chimera: update tags mtime on re-write
- [6328b1a] scripts: fix invalid path in dcache-pool-meta-preupgrade
- [ca30091] chimera: fix corruption of directory mode on tag update
- [c843a45] pool: Improve resilience against broken SI files
- [8b35637] ftp: Remove duplicate session ID in NDC
- [52a0147] core: fix bad merge of c843a45
dCache 2.6.1
Service: pool
Set a timeout value for pool to pool transfers. This allows a pool to pool transfer to time out if the underlying TCP connection "gets stuck".
Service: admin
Added the new commands nfs stats and nfs sessions to the admin interface, which can be used to monitor doors and movers. cd to a pool to use these commands.
Service: billing
Fixed a bug in the web pages for Alarms and Pool Queue Plots where the settings selected by a user/session would become global. The fix now isolates user/session settings from each other.
Fixed string lengths in billing databse tables. Tables created automatically contained character columns limited to 256 which is too restrictive for path and errormessage columns in billinginfo, doorinfo and storageinfo tables. Additionaly, the length of pnfsid string was limited to 36.
Service: alarms
Changed the default values for the property alarms.store.db.type from xml to rdbms and for webadmin.alarm.cleaner.enabled to false. Please note that the alarms database must be created before booting the domain in which the alarmserver runs.
Fixed the behavior of display table header checkboxes after refresh.
Modified the alarms page to allow the user to express a single result range for the query (for instance, 0 to 100, 50 to 75, etc.).
Increased the lenght of the info and notes fields of the alarm/log entry for the alarm service to 8000.
Fixed a bug in the web pages for Alarms and Pool Queue Plots where the settings selected by a user/session would become global. The fix now isolates user/session settings from each other.
Service: srm
Substituted the error message "[]
java.io.EOFException"
which occured if the client disconnects
during the SSL handshake by a more informative message which is logged
at debug level.
Modified the behaviour of dCache such that the spacemanager service
is no longer needed, when the space-manager is disabled in the
configuration.
Sites that do not support space-reservations (as indicated by the
srmSpaceManagerEnabled property) are no longer forced to run
the space-manager service. They may continue to run this service, but
it has no effect.
Sites that support space-reservations are
unaffected by this patch.
Service: xrootd
Fixed a bug, that caused the door to become unresponsive on reverse DNS lookup on the client IP.
Service: ftp
Improved the error message that occurs when authentication fails with a certificate chain validation error to contain information about the certificate that triggered the failure.
Added an explanation of the overwriteEnabled configuration
option. This controls dCache's behaviour when user attempts to
overwrite an existing file via FTP or SRM.
The default behaviour is not standards-compliant. This patch does NOT
alter this behaviour. Sites are invited to review their configuration.
Service webdav
Fixed a bug, that caused the door to become unresponsive on reverse DNS lookup on the client IP.
Switched the JGlobus WebDAV SSL connector to use the configured path.
Service: nfs
Fixed a bug, that caused the door to become unresponsive on reverse DNS lookup on the client IP.
dcache script
dcache database update
Fixed a bug which did not allow the update when the billing database did not exist.
Properties
Obsolete properties (Properties which are not used anymore and have no effect on dCache):- httpd.static-content.plots.subdir
Miscellaneous
Upgraded several third party dependencies.
Banned elliptic curve ciphers to prevent unsupported ciphers from
being selected. This is a work-around for broken JVMs to allow newer
clients to connect to dCache. A log message that includes
"CKR_DOMAIN_PARAMS_INVALID"
is symptomatic of this
problem.
Changelog 2.6.0 to 2.6.1
- [b688545] axis: fix NPE when the class providing a SOAP service has void method
- [5eb4f9b] SRM: log client disconnecting at debug level
- [a565a8a] SRM: don't talk to SpaceManager when disabled
- [87fff03] gplazma2-xacml: fix regression on network address sort
- [6c85331] ftp: Log CertPath in case CertPath validation fails
- [4a5a661] ftp: Log stack trace on authentication failure
- [77a351b] wevdav,xrootd,nfs: Fix blocking reverse DNS lookup
- [42e5849] dcache: alarm service -- change default db to rdbms
- [333cf8b] Minor bug fix upgrades for third party dependencies
- [b1e8efc] nfsv4: initialise CDC for better logging
- [8c9eca5] webadmin: alarms -- fix behavior of display table header checkboxes
- [38b613b] webadmin: add range to alarm query api and panel
- [19fe23c] skel: httpd.properties mark plots subdir as obsolete
- [82ddd9c] gplazma-xacml: turn down noise level
- [dccaf0e] skel: fix billing database properties to work with dcache database commands
- [f3e2432] common: backoff fix error in precondition check
- [4e9c5d6] nfs: use worker thread
- [7d11702] nfs: add more admin command to monitor door and movers
- [7785336] dcache: fix billing liquibase add plpgsql changeset
- [4685d53] webadmin: make srmSpaceManagerEnabled aware; enable real backoff on collectors
- [edf7ea5] dcache: alarms package.jdo missing varchar length on text fields
- [93d0ba6] webdav: switch hard-coded JGlobus paths to those configured
- [73fb7ef] webadmin: make query and filter options set in browser session-specific (alarms, poolqueueplots)
- [e1d2957] dcache: alarm command line, fix minor bug
- [53bc345] Fix dCache FTP and SRM to be standards-compliant by default
- [66fa382] libs: use jglobus-2.0.6-rc2
- [b891224] Ban elliptic-curve ciphers to prevent unsupported ciphers from being selected
- [9a6691b] dcache: billing -- fix error in liquibase varchar changeset
- [3228655] pool: Configure timeout for pool to pool transfer
dCache 2.6.0
Chimera
Removed the create.sql script. For a freshly installed dCache, it is now necessary to use the command dcache database update to run the chimera-cli commands before starting dCache.
Improved the chimera-cli script:
-
Added the new command chimera-cli rmtag to remove a single directory tag.
-
Updated the chimera-cli chown command such that it is possible to set the gid ownership.
-
Improved the functionality of the command chimera-cli checksum. It is now possible to to list the checksum of a specific type, to add a checksum value of a specific type and to remove the checksum of a specific type.
Added the dot command cat ".(get)(
Fixed compatibility issues with uberftp and list operations on the root directory.
Service: pool
-
Added support for injecting xrootd channel handler plugins in pools. The xrootdPlugins property is now defined separately for pools and doors. If specified outside the scope of a door or pool, the property has to be prefixed with the scoping operator. Existing deployments may have to update their configuration accordingly! Please also have a look at the pool.properties and the xrootd.properties files.
-
Modified the file metadata backend of pools such that, like for the database backend, StorageInfo is only cached. If the pool becomes memory constrained, the garbage collector can evict unreferenced StorageInfo objects. They will be reloaded from disk on demand.
-
Fixed a regression in the migration module. The regression broke the functionality of the migration info command.
-
Upgraded to Berkeley DB version 5.0.58
The file format changed. Pools using the Berkeley DB backend will be upgraded to the new format during the first startup. Automatic downgrade is not possible.
Note that it may be necessary to run a small script to prepare for the upgrade. If the pool fails to start with an EnvironmentFailureException failure after upgrading, then the admin needs to run the /usr/sbin/dcache-pool-meta-preupgrade script.
-
Added a filter to silence low-level I/O logging for xrootd and http.
-
Fixed race conditions and counting errors in mover scheduler.
-
Improved the killing of movers on shutdown of dCache.
-
Improved the checksum module.
-
Allowed mover queues with zero capacity.
-
Modified xrootd and http movers. The properties xrootdMoverXXX and httpMoverXXX in the files pool.properties and xrootd.properties are now interpreted per pool, and not per domain.
-
Fixed the wrong logging when a file is restored from tape and the restore fails.
-
Fixed a null pointer exception in the hsms attached to pool command.
Service: poolmanager
Improved the psu create unit help-hint. It did not mention the -protocol option which is needed to create a protocol-based unit.
Fixed a rebalancer bug related to the use of non-US locale.
Set default number of allowed replicas to three.
Service: pnfsmanager
Introduced the properties pnfsmanager/db.connections.partition-count, pnfsmanager/db.connections.max-per-partition and pnfsmanager/db.connections.min-per-partition which can be used to control the database connection pool size.
Fixed compatibility issues with uberftp and list operations on the root directory.
Removed the set storageinfo command, which had been deprecated for a while.
Service: spacemanager
Improved logging to not produce an error message for transfers that are not subject to space management.
Service: replica manager
Fixed a NullPointerException when database connection checkout fails.
Service: admin
Improved the error message for the ssh2 admin interface when the host keys do not have the right permission or ownership.
Introduced the new property admin.ssh2.gid with default value 0. In order to be allowed to access the ssh2 admin interface the group ID of a user contained in the dcache.kpwd file needs to match the value of admin.ssh2.gid.
Service: httpd
Replaced the old main page by the webadmin page. The old main page with links to the old sub-pages is still available at http://...:2288/old.
Added Pool Queue Activity Plots to webadmin. The new properties, which are also listed below, can be found in the file /usr/share/dcache/defaults/poolqplots.properties.
Fixed a bug which crashed the webadmin.
Fixed a bug which was triggered under certain conditions when pool-queue-plotting is enabled.
Service: billing
-
Introduced the properties billing/db.connections.max-per-partition and billing/db.connections.min-per-partition which can be used to control the database connection pool size.
-
Added indexes for billing database.
As a result the billing cell might be slow to start (depending on amount of data).column index name billinginfo.client billinginfo_client_idx billinginfo.initiator billinginfo_initiator_idx billinginfo.pnfsid billinginfo_pnfsid_idx billinginfo.storageclass billinginfo_storageclass_idx billinginfo.transaction billinginfo_transaction_idx doorinfo.owner doorinfo_owner_idx doorinfo.pnfsid doorinfo_pnfsid_idx doorinfo.transaction doorinfo_transaction_idx storageinfo.pnfsid storageinfo_pnfsid_idx storageinfo.transaction storageinfo_transaction_idx storageinfo.storageclass storageinfo_storageclass_idx hitinfo.pnfsid hitinfo_pnfsid_idx hitinfo.transaction hitinfo_transaction_idx
If you already created indexes on some of these columns by hand, then it is best to rename these indexes during downtime according to the naming scheme above using the command: ALTER INDEX name RENAME TO new_name; Then the update would skip existing indexes.
-
Modified billing to reflect pool-to-pool (p2p) transfers in the billing message. The initiator on p2p transfers is now prefixed by 'pool:', analogously with 'door:'. To reflect p2p transfers [p2p=$p2p$] can be added to the MoverInfoMessage. As usual, do not edit the billing.properties file add the property billing.format.MoverInfoMessage to your dcache.conf or layout file. This has not been added for compatibility reasons.
Service: alarms
-
Modified the initialization process of the alarms service to make it easier to use an RDBMS instead of the XML file to store the alarms. Just create the alarms database with
createdb -U srmdcache alarms
and set the property alarms.store.db.type=rdbms in the dcache.conf file.
-
The default name for the XML storage has changed from alarms.xml to store.xml.
-
Moved the server-side alarm definitions to a separate file. The location of this file is defined by the property alarms.definitions.path which defaults to /var/lib/dcache/alarm/alarm-definitions.xml.
-
The alarms definitions are pure XML now.
-
The new property alarms.remote-logging.level controls the logging level.
-
Provided drop-down choices for the type of the alarm on the alarms web page. Please note that this presupposes that the httpd service has access to the same file system as that used by the alarm server.
-
Provided a choice between ALL, ALARMS ONLY, NO ALARMS on the alarms web page which allows you to filter out the error or warn messages from the marked alarms, or display them, as desired. Note that when ALL is chosen, marked alarms will appear as dark red entries in the list.
-
Added a check which will refuse to start the alarms service if it is combined with other services in the same domain.
-
Modified the initialization of the alarms service to handle special cases.
Service: statistics
Fixed wrong documentation on statistics help page.
Service: gplazma
-
Fixed a bug introduced in dCache 2.5.0 which caused the failure of the initialization of kerberosftp and dcap cells.
-
Solved a compatibility issue between 2.2 head nodes and 1.9.12 pools.
-
Added a plugin to fix the authentication with JAAS. The plugin converts principals generated by the JAAS plugin to gPlazma supported equivalents like DN, username, kerberos, FQAN or name.
Example gplazma.conf:
auth jaas ... map optional mutator gplazma.mutator.accept=org.apache.activemq.jaas.UserPrincipal gplazma.mutator.produce=username map sufficient nsswitch ...
Service: srm
Dropped the property srmLsRequestLifetime which has never been used. The SRM now honours the property srmAuthzCacheLifetime.
Improved the logging in case of an unexpected internal error.
Third-party copies no longer require the port number to be specified. If a port isn't specified in the URI then the well-established default value for that protocol is used.
Fixed credential delegation for srmCopy transfers
Fixed illegalStateException which was generated when an expired job existed while the SRM was starting.
Removed the support for the async connector. Therefore the property srmJettyConnectorType is now obsolete.
Service: gridftp
Fixed broken Adler32 checksum computation.
Discontinued exporting child cells as well known. Now, the complete cell address needs to be provided when cd'ing into a child cell of a FTP door.
Service: webdav
Please note that we support webdav level 1 (webdav without locking).
Made checksum information available via HTTP via RFC-3230.
Service: nfs
Made the location of the export file configurable by using the new property nfs.export.file.
Switched to jpnfs-0.0.5. This allows full acl support, proper behavior for read-only exports, significant performance improvement on listing of big directories and support for 4MB IO blocks. The NFS file handle is modified to allow changes in the exports file to be validated for each request. With the exports reload command in the admin interface this makes any change in export file to take an immediate effect.
Added a possibility to list exports per host: exports ls [hostname].
Service: nfsv4.1
Added the dot command cat ".(get)(
)(locality)" to find out file locality (status), i.e., ONLINE, NEARLINE, UNAVAILABLE, etc. This status should reflect actual network availability rather than the static state stored in the database.Service: dcap
Discontinued exporting child cells as well known. Now, the complete cell address needs to be provided when cd'ing into a child cell of a DCAP door.
Service: gsidcap
Optimized the network output for gsidcap by sending more data in one go on the control channel.
Fixed a memory leak which occured under rare conditions.
doors
Fixed compatibility issues with uberftp and list operations on the root directory.
dcache script
dcache status
Added information on how long a domain has been running or restarting to the dcache status command. The duration is given in seconds (if less than 2 minutes), minutes (if less than 2 hours), hours (if less than 2 days), days (if less than 2 weeks) or weeks otherwise.
dcache database ls
Improved the dcache database ls command to show information on the minimum- and maximum- number of connections.
dcache alarm add
Use the dcache alarm add command to add an alarm definition to the alarm-definitions.xml file.
dcache alarm modify
Use the dcache alarm modify command to modify an alarm definition in the alarm-definitions.xml file.
dcache alarm remove
Use the dcache alarm remove command to remove an alarm definition from the alarm-definitions.xml file.
dcache alarm send
You can use the dcache alarm send command to send an arbitrary alarm to a running alarm server.
Properties
New properties:- admin.ssh2.gid
- billing/db.connections.max-per-partition
- billing/db.connections.min-per-partition
- pnfsmanager/db.connections.partition-count
- pnfsmanager/db.connections.max-per-partition
- pnfsmanager/db.connections.min-per-partition
- poolqplots.enabled
- poolqplots.refresh-interval
- poolqplots.refresh-interval-unit
- poolqplots.rrdb.image-type
- poolqplots.rrdb.plot.height
- poolqplots.rrdb.plot.width
- poolqplots.rrdb.plot.label-span
- poolqplots.rrdb.plot.label-unit
- poolqplots.rrdb.plot.label-unit-count
- poolqplots.rrdb.plot.major-unit
- poolqplots.rrdb.plot.major-unit-count
- poolqplots.rrdb.plot.minor-unit
- poolqplots.rrdb.plot.minor-unit-count
- poolqplots.rrdb.plot.right-margin
- poolqplots.rrdb.plot.x-label-format
- poolqplots.rrdb.plot.span-size
- poolqplots.rrdb.plot.span-unit
- poolqplots.rrdb.plot.step-size
- poolqplots.rrdb.plot.step-unit
- poolqplots.rrdb.db.version
- poolqplots.rrdb.plot.y-label
- poolqplots.rrdb.plot.heartbeat-factor
- nfs.export.file
- alarms.definitions.path
- alarms.remote-logging.level
- srmLsRequestLifetime
- srmJettyConnectorType
Miscellaneous
-
The single.conf layout has been updated to make it easier to add new domains.
-
Upgraded ActiveMQ to version 5.7.0.
-
Updated OpenMQ libs to version 4.5.2. We recommend to use an OpenMQ 4.5 broker with dCache.
-
Fixed a race condition in the LocationManager.
-
Fixed kill command in the SystemCell.
-
Increased speed of system shutdown by fixing several small problems.
-
Added a producer of StAR accounting records. The StAR producer works with EGI's Apel SSM v2. Sites publishing StAR records for EGI must update their SSM RPM to at least v2.0.1.
-
Restored pre-2.5 pool compatibility for protocol infos.
-
Defined the new java property org.dcache.net.localaddresses to provide a way to force dCache to use defined IP adresses. This property can be set in the dcache.conf or in the layout file.
dcache.java.options.extra= -Dorg.dcache.net.localaddresses=ip1,ip2
The value can be a comma separated list of ip addresses. Please notice that some components will pick only the first address. -
Improved compatibility issue with Java 7.
-
Removed low level logging of cell communication and reduced low level cell nucleus logging to trace level.
-
Fixed the problem of a DN containing double slashes like in http://
-
Upgraded to Jetty 7.6.
-
Removed the attributes storageInfo.fileSize, storageInfo.retentionPolicy and storageInfo.accessLatency. The description of the fields fileSize, retentionPolicy and accessLatency from the billing.properties file has been removed accordingly. Please adapt your billing.format.StorageInfoMessage if you used these attributes.
-
Improved the formatting of the help output of some commands in the admin shell.
-
Fixed a bug in the Debian package where the alarms directory is owned by root instead of dcache user.
-
Added a prototype of a JSON API. It is accessed through HTTP, eg http://localhost:2288/api/PoolManager or http://localhost:2288/api/PoolManager/psu.activePools.
In contrast to the info service, API requests trigger queries to the actual service. Thus the information is guaranteed to be up to date. The downside is that frequent probes would incure overhead. The API is not guaranteed to be stable at this point (i.e., we may change it in between releases). The goal is that any information that can extracted through the ssh interface is also available through the API.
Changelog 2.5.0 to 2.6.0
As we recently switched from SVN to github the changelog looks different now. It does not show revision numbers anymore but commit ids.
- [c0edaf9] dcap: v. minor tidy up
- [de2ee90] gsidcap: remove extra TCP frame
- [6428b9e] gsi-/keberos-dcap: don't sent '\n' as separate SSL frame
- [282f067] gplazma: add missing directory-listing-handler
- [955e741] chimera-cli: fix output of 'ls' cmd
- [bff3740] config: remove broker.scheme=none from single.conf
- [8dd8d94] scripts: add state duration to 'dcache status' output
- [f0443cd] Backoff utilities: controller, algorithm interface and standard implementation
- [134cfd3] scripts: fix dcache cmd for zero-length cache file
- [4dd842d] core: drop getHosts() and getport() from IpProtocolInfo
- [c83fdcb] ssh2Admin: server key bug
- [c0a7264] ssh2: Introduction of admin group ID
- [dfa6fc5] defaults: fix double-reported TCP port for http
- [228ba86] dcap client: close tunnel when closing control channel
- [96deefa] system-test: fix layouts config
- [2dc4723] namespace: add PnfsHandler-only constructor to RemoteNameSpaceProvider
- [2623461] cells: Avoid use of raw types
- [234ea6e] Avoid use of raw types
- [1d36f52] srm: reduce dependency on SrmDCacheConnector
- [38e4e04] srm: remove dead configuration options, fix 'gplazma' support
- [9962dcd] chimera-cli: add ability to remove a directory tag
- [1d56502] poolmanager: fix the online help for psu create unit
- [be864e8] billing: expose BoneCP connection pool size as configuration
- [d07e01c] pnfsmanager: expose BoneCP connection pool size as configuration
- [e39b022] LocationManager: fix stack-trace when broker.host is unknown
- [949703d] config: fix error message for obsolete properties
- [f4ef444] chimera-cli: fix chown so gid-ownership may be set
- [3c37b0f] scripts: show database connection bounds
- [cd09462] srm: inject SRM Configuration and Storage objects into Axis
- [ea154e4] gging to SLF4J 1.7.2
- [6234e60] dcache: Avoid use of raw types
- [de65b38] srm: Avoid use of raw types
- [1f51b95] webadmin: Avoid use of raw types
- [8cc5e7a] webdav: Update to Milton 2
- [c37de7f] Gridftp: fix issue with checksum calculation. FileChannel has to be set to 0th position before checksum is calculated
- [23f13d0] webdav: Fix third party dependency
- [add75fa] webadmin: Change webadmin controller to use backoff controller
- [39cec78] Fix several logging related issues
- [21fd8dd] webdav: Update to Milton 2.3.0.4
- [343c804] Fix billing plot scalability issue - 2.5+
- [56f3484] alarms: Remove unused alarms property
- [2520eaf] webadmin: Add Pool Queue Activity Plots to webadmin
- [3387730] webadmin: broken unit tests fix
- [453c1fd] get rid of deprecated class RemoteGsiftpDelegateUserCredentialsMessage
- [782fe34] webdav: Replace HttpManagerBuilder with HttpManagerFactory
- [175af64] Updated system-test package.
- [a198e7b] replicamanager: Fix ClassCastException (regression)
- [09997bf] Various minor and automatic cleanups of the source code
- [5efd9f2] Update third party dependencies
- [e2cbf55] jms: Upgrade to ActiveMQ 5.7.0
- [49394ac] Update OpenMQ libs to version 4.5.2
- [23603fa] Indentation fixes.
- [d147d7b] pool: Fix timeout bug in migration module
- [8ff8a20] Update SMC to 6.1.0
- [87b29c9] Ensure newline at end of file.
- [7653aae] core: remove CompletionHandler
- [f58fff3] cells: Fix cell shell regression
- [2ba5c9f] space-manager: fail requests when disabled
- [73bfa59] Make help strings static and final
- [f5f81e6] Fix minor issues identified by IntelliJ
- [3d0fec3] Use collection interfaces rather than concrete classes
- [a6c8c97] chimera: remove SQL file that creates an initial namespace
- [e59531a] nfs: make location of export file configurable
- [5245c98] Use FileAttributes class in pool and pool related messages
- [3810557] location manager: fix race condition for default configuration
- [cb6e40b] system-test: fix minor problems
- [991d2e6] Ensure new line at end of file.
- [5489493] gplazma-kpwd: fix double caching of file content
- [62e36ad] cells: remove redundant instanceof
- [bf10dfc] poolmanager,httpd,etc: Use cell address to query pools
- [327b428] httpd: Use full cell address for login broker messaging
- [f997fc4] Declare help strings as constants.
- [1a64ddf] poolmanager: Add interfaces for PoolMonitor and PoolSelector
- [048660e] system-tests: verify machine trusts dCache Test CA
- [d20662a] System cell: fix kill command
- [d5a4df0] build: suppress external bouncycastle dependencies
- [4acadb6] pool: Add support for xrootd ChannelHandler plugins
- [8290f2f] pool: Let file backend cache StorageInfo
- [6febf98] webdav: Upgrade to Milton 2.3.0.6
- [a3e102c] srm: Use correct scheduler for space reservation requests
- [b6344ed] httpd: Don't use system locale when generating HTML
- [806a4f9] pom: move to oncrpc4j
- [30bfe2e] nfs4: decrease log level for forward/reverse id mapping
- [323fb2a] pinmanager: Retry stage failures
- [3880d4e] pinmanager, poolmanager: Add utilities for PoolMonitor remoting
- [142e215] Cleanup shutdown code
- [62e8541] poolmanager: Return pool address in PoolMgrGetPoolMsg
- [09cbbd7] dcap, gridftp: Do not export child cells as well known
- [8b1b486] Reindent file
- [5ec44ba] Get rid of unused imports
- [94b0830] Remove imports of classes from same package
- [31c6757] Get rid of redundant imports
- [a235f21] Avoid use of fully qualified class names
- [de45d40] Missing image resource for poolqueue plots.
- [60f8aa7] star: add producer
- [a99a89d] pool: Clean up RemoteHttpDataTransfer mover
- [4fc6e2b] axis: better logging of problems
- [b7bc58d] webdav: add support for RFC-3230
- [855837a] alarms: improvements (core and webadmin)
- [c789a24] alarms: add to Alarm key regex group
- [ca6eed7] Defective patch for commit 18109
- [c0bc096] Add legacy GlobusPrincipal class to restore 2.2 pool compatibility
- [b04ab2f] Restore pre-2.5 pool compatibility for protocol infos
- [02f3590] checksum: only accept valid checksums
- [a960ac4] alarms: report command execution exceptions through logging system
- [36252a7] transfer: do not retry upload if pool already contains a replica
- [a5c9ff0] SSH 1 login to admin broken
- [1d8413a] Add set of standard alarms to logback.xml
- [439c54b] Webadmin redirects to http after admin page login
- [7cef67e] chimera: do not ask for tape location for newly created files
- [4602f17] nfsv41: speedup exclusive open
- [26a7411] space-manager: refactor how spaceManagerDisabled is handled
- [90ab6c0] Alarms: fix minor configuration issues
- [8c4cd3c] StAR: update to SSM 2
- [72142e2] Make webadmin login more intuitive and friendly
- [0e10456] space-manager: tidy up logging
- [b460302] implement ability to chroot to user root directory extracted from login record.
- [d0bb771] cells: login manager should not publish to login broker if accept thread is dead
- [803e9be] cells: add getOption with default
- [4e56932] loginmanager: small cleanup in options parsing
- [60f68e3] srm: add default port numbers for 3rd party copy
- [8ac2be5] nfs4: fix IO on file levels
- [7a8e367] http: add utility method for decoding RFC 3230 Digest
- [825aed5] javatunnel: drop unused copy of Args
- [8b097b1] src: move ArgsTest to the module where Args is defined (cells)
- [58c9412] nfsv41: remove client session on destroy
- [1069d91] mover: refactor ChecksumMover
- [387656a] Remove unused style sheets from webadmin war
- [7af4309] chimera: fix primary key of checksum table
- [047126f] chimera: update 'checksum' command to be more useful
- [d0d0f94] Webadmin: eliminate css redundancy; adjust colors to conform with dCache.org
- [d048fa9] chimera: revert 18161
- [5cc6010] srm: Fix credential delegation for srmCopy transfers
- [cc0e1e9] doors,pnfsmanager,chimera: Add checks for root directory
- [50ff9b2] SRM: report RuntimeException as bugs
- [2931cb7] poolmanager: Fix glob matching for psu commands
- [73ab426] common: provide a way to force dCache to use defied IP addresses
- [9942273] Clean up import statements
- [a6416a7] Fix log filtering initialization
- [6d60e44] alarms: Infrastructure Revision
- [208c3a3] add useful indexes
- [abd9d74] Clean up CacheException class
- [980e834] spacemanager: Get rid of log errors that are no errors
- [4ab9351] Clean up version number handling
- [2a03a72] Turn down log level of info and debug messages
- [d9a817a] Add JSON API for dCache
- [988ade1] Committed files I forgot to add to SVN in previous commit.
- [cbbb5ca] Added files I forgot to add to SVN in previous commits.
- [3b19738] Adjust log levels of various messages
- [d4a3326] embedded gplazma fragment: bug fix
- [5b3bb2e] wicket: Exclude cglib dependency
- [a76957b] replicamanager: Fix NullPointerException
- [0f83ee8] Reverted commit r18191
- [67d8a29] replicamanager: Fix NullPointerException
- [a5ff9ac] poolmanager: Fixes rebalancer bug related to use of non-US locale
- [952fa87] Fixed a few logging related loose threads
- [4cee546] Revert recent changes to log levels
- [8cba216] HSQLDB changelogs for billing brought up to date
- [feed297] Resolve conflicting imports in Junit test
- [6891f84] Fix system-test webadmin gid
- [d6b67c9] pool: Fix migration module regression
- [605f7f7] pool: Upgrade to Berkeley DB version 5.0.58
- [332810c] cells: Refactor cell tunnel code and clean up CellMessage format
- [3a5d25f] cells: Add encode/decode primitives to CellMessage
- [b5afeba] pool: Fix problem with negative number of active movers
- [1c351b3] cells: Preallocate killer thread
- [b1764a1] cells: Kill the remaining bits of the legacy logging system
- [3137ab1] cells: Fix retry loop and logging in sendAndWaitToPermanent
- [2c3f687] cells: Don't retry send during shutdown
- [797efe5] pool: Shut down timer thread in netty movers
- [fe7635b] pool: Use immutable collections in IoQueueManager
- [bef8f45] pool: Shut down various thread pools on shutdown
- [ee37d47] Introduce cell address caching in AbstractCellComponent
- [6e65d1a] login-cli: fix NPE on get identity of non existing principal
- [9ff3b37] Add missing file to rpm server spec.
- [38be7b9] nfsv41: detach expired session from client
- [4d8817a] statistics: statisticsHelp.html - wrong colors
- [864830b] alarms: Alarm-Definitions, dcache commands for alarms, alarm definitions using auto-completion
- [76c8533] alarms: Fix bug related to webadmin
- [1f3d33a] Remove alarm server from system-test
- [42388b0] Make webadmin the home httpd page
- [f370ba9] pool: Avoid CellInfo query for billing registration at end of transfer
- [e875c96] pool: Add filter to silence low-level I/O logging
- [4d73152] pool: Simplify ChecksumMover interface
- [fb6367e] chimera: Fix spelling error in method name
- [e769d4c] pnfsmanager: Remove unused PnfsSetLengthMessage
- [88b5041] pnfsmanager: Remove PnfsSetStorageInfoMessage
- [a2a707b] Chimera: Fix timing bug in Chimera test
- [846bb90] [fix] Add serialVersionUID field to legacy principals
- [9d261fa] pool: Simplify CellStubHelper
- [864f82a] pom: use pdm plugin 3.0.1
- [e206e66] pool: Fix race conditions and counting errors in mover scheduler
- [806aa55] pool: Kill movers on shutdown
- [3c255f3] pool: Ensure clean thread shutdown
- [d180e90] pool: Use ListenableFuture rather than CompletionHandler
- [f31e94b] poolmanager: Clarify use of preallocated space in pool selection
- [6c7de8a] pool: Let DoorTransferFinished and PoolFileFlushed use FileAttributes
- [c957736] login: add commands to dump and clear login cache
- [fe621dd] Deprecate access latency, retention policy and file size in StorageInfo
- [8bae36e] pool: Rewrite checksum module
- [b51412c] pool: Use DiskErrorCacheException rather than CacheException.ERROR_IO_DISK
- [f4ed5c5] srm: Log stack trace for bugs while saving jobs
- [f113467] srm: Fix IllegalStateException during startup
- [cb2007a] Squashed commit of the following:
- [7f356e1] pom: scm should point to github
- [dff9aea] alarms: Add check for whether the alarms service is the only service in the domain
- [eee1ed8] Squashed commit of the following:
- [949069d] core: fix checksum paresing in Storageinfos
- [07c09b3] pom: use custom jglobus2 libraries
- [c0327e1] pom: fix bad version number introduced by 07c09b31d2
- [69ac979] Restore pinboard default log level to info
- [22075ef] pool: Revert change to ListenableFuture
- [39fb620] Fix NPE in GenericStorageInfo#equals
- [4bf5f6b] pool: Allow ReplicaDescriptor#getFileAttributes on closed descriptor
- [60bb2de] pool: Fix corruption error message
- [5cb9897] pool: Make use of AbstractCell in NFS execution service
- [a20e141] Add throwable to a couple of more CacheException subclasses
- [f1a6cf6] Add checkum to error message when parsing fails
- [6c6c885] Make CDC AutoCloseable
- [5120744] Exclude Spring internal beans from 'bean ls' output
- [c014ea9] pnfsmanager: Include legacy attributes in storageinfoof CLI output
- [d41b3c8] Revert "pool: Revert change to ListenableFuture"
- [96f2b78] pool: Revert change to ListenableFuture
- [e3358e1] pool: Allow mover queues with zero capacity
- [cfa6124] pool: Move scheduling state into SimpleIoScheduler
- [96792f4] Change webadmin alarms DAO to do lazy initialization for XML database
- [c6c422f] billing: Add p2p attribute to MoverInfoMessage
- [9e6e93f] Fix regression introduced in Junit test by patch 5407
- [d06b943] Upgrade to Jetty 7.6
- [a1c116f] Fix 'dcache version' regression
- [bc2ade5] pool: Move post processing to post execution service
- [5e2d8fd] pool: Move transfer error handling to execution service
- [3982bb3] pool: Add flag to create data file when repository entry is created
- [20bcc19] pool: Get rid of PoolIORequest
- [edd2b6e] pool: Decouple scheduler from execution services
- [53ebf50] cells: Let CellPath#revert return a copy
- [726cee2] pool: Add Mover interface
- [c448bab] pool: Rename and parameterize execution services
- [3b88e57] pool: Decouple pool from MoverProtocol
- [70c1961] pool: Remove the unused MoverProtocol#wasChanged method
- [38f75c2] pool: Restore mover CDC during kill
- [70ef318] pool: Fix NPE in HTTP mover
- [dd1031b] pool: Port xrootd and http movers to thread-less architecture
- [8739da0] Workaround for Java bug on Mac OS X
- [5f9fc31] pool: Clean up local interface resolution in HTTP transfer service
- [82d3bc5] nfs4: Add .(get)(filepath)(locality) command to NFS4 (revised)
- [8ce45fe] libs: update to Netty 3.6
- [98a0c7b] pool: Utilitize chunked response infrastructure in xrootd4j
- [1c75200] poolmanager: set default number of allowed replicas to 3
- [b371e4d] nfs: switch to jpnfs-0.0.5
- [34dba7f] chimera: special files mtime should be always current time
- [5ce8a9c] pool: Fix CPU spin in Netty based transfer services
- [fabb5ef] spacemanager: fix NPE and corresponding logging
- [3214bc2] nfs: add a possibility to list exports per host
- [9c7df0b] gplazma: Remove internal principals from reply
- [0151fd8] pool: Make access time update non-blocking
- [34ea012] Add ANSI output for admin shell help text
- [c279f43] pool: Clean up flush controller
- [d67ac58] pkgs: Debian package missing chown for alarms directory
- [969903b] A step towards configurable cell names for gPlazma and billing
- [d114427] pool: Don't claim a restore was successfull when it failed
- [94acc72] ftp: Fix regression in gPlazma and billing cell names
- [7501658] ftp: Fix NPE regression in door initialization
- [bf94aa4] cleaner: Fix null pointer exception in 'hsms attached to pool' command
- [dc8d726] gplazma2-jaas: add principal mutator plugin
- [53e4eec] Remove deprecated code.
- [c636e10] system-test: downgrade missing trust from an error to a warning