Highlights

  • New consistent naming scheme for configuration properties.

  • Billing plots are now generated by httpd, which implies that the billing service and the httpd service are allowed to run on separate machines.

  • We added the possibility to specify multiple poolgroups as target poolgroups in the migration module.

  • Chimera now supports the set-gid bit on directories to allow the group owner of new entries to be inherited from the directory.

  • We added a possibility for the pool to callout to an external health check script.

  • Pools now implement rate-limiting in the ‘sweeper purge’ command to avoid pnfsmanager overload caused by high deletion rate.

  • Support for htpasswd files.

  • SRM has been extensively cleaned up.

Upgrade Instructions

Incompatibility

The naming scheme for the configuration properties has changed. Please read the release notes for dCache 2.7.0 very carefully and follow the instructions.

Compatibility

All dCache 2.7-release services are not compatible with any 2.5 (or earlier) dCache service.

All dCache 2.7-release services are compatible with any dCache 2.6 pool services, but are not compatible with any dCache 2.6 non-pool services.

All dCache 2.7-release services are compatible with any other dCache 2.7-release service.

Important: As a special case, if dCache is configured to allow NFS access then 2.7-release pools must run v2.7.6 or newer. Compatibility with 2.6-release pools requires the nfs service be v2.7.6 or newer.

Release 2.7.36

Changes 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.7.35..2.7.36

5a6a39b
[maven-release-plugin] prepare release 2.7.36
ba86ff6
common: Fix division by zero regression in gauges
3019398
common: Fix rounding error in request gauge
52fb2db
srm: Abort pinning when cancelling bring-online requests
e5bc78f
pinmanager: Fix listing by id
6207434
system-test: add missing dCache disposible CA certificate
3e10444
system-test: add regenerated host and user credentials
5eec1ab
[maven-release-plugin] prepare for next development iteration

Release 2.7.35

dcap

Update dcap door to avoid possible NullPointerException when describing an error to the client.

Changelog 2.7.34..2.7.35

733d4d5
[maven-release-plugin] prepare release 2.7.35
4aba120
dcap: do not call toString() on error object
197304c
[maven-release-plugin] prepare for next development iteration

Release 2.7.34

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.7.33..2.7.34

ed70a6f
[maven-release-plugin] prepare release 2.7.34
30ec289
pool: Fix read corruption in HTTP mover
0c0285a
[maven-release-plugin] prepare for next development iteration

Release 2.7.33

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.7.32..2.7.33

a63951d
[maven-release-plugin] prepare release 2.7.33
0f99622
pool: Fix bug in migration module upgrade logic
a5741b7
[maven-release-plugin] prepare for next development iteration

Release 2.7.32

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.7.31..2.7.32

424e22c
[maven-release-plugin] prepare release 2.7.32
d66126c
tunnel: use toString if IOException#getMessage returns null
4e2ef9c
Exclude cwd from classpath
5353662
[maven-release-plugin] prepare for next development iteration

Release 2.7.31

Changes affecting multiple services

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.

gplazma

The description for how to migrate away from using the forbidden useGPlazmaAuthorizationModule and useGPlazmaAuthorizationCell properties had caused confusion. The description has now been updated to be more explicit.

httpd

Fix filtering boxes and sorting on Pool Admin, Pool Usage, Poolgroups, Space Tokens and Tape Transfer Queue.

srm

Uploading a file with SRM involves three steps: preparing for the upload (srmPrepareToPut), uploading the file, marking the upload finished (srmPutDone). The third step can fail but previously the response from dCache is always Upload failed.. With this release, a meaningful error message is returned.

Changelog 2.7.30..2.7.31

c4b3c6b
[maven-release-plugin] prepare release 2.7.31
bcdb9d4
gplazma: update error message for forbidden properties
75d2ccd
(2.7) webadmin: make jquery selector specific to individual tables
d2111c3
(2.7) webadmin: restore missing components to respect jquery script options
dbb655b
srm: include the reason why upload failed
b1aff6a
chimera: fix race condition on remove
ceb06da
webadmin: ensure unique id attributes for all (currently) tested UI elements
57ff91d
[maven-release-plugin] prepare for next development iteration

Release 2.7.30

ftp

Fix default value for ftp.authz.readonly for plain (unencrypted) doors. This restores the default value to the dCache v2.6 default value of true.

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.7.29..2.7.30

0bcaafc
[maven-release-plugin] prepare release 2.7.30
67c96d7
ftp: fix response if user fails to authenticate to weak FTP door
cc3de8c
ftp: fix invalid default for ftp.authz.readonly property
730bfd7
webdav: fix double-slash bug by upgrading to patched milton
8a2825d
[maven-release-plugin] prepare for next development iteration

Release 2.7.29

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.

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.7.28..2.7.29

e555594
[maven-release-plugin] prepare release 2.7.29
06dd710
Disallow Java 8
a0208b3
webdav: Alternative to fixing return code of DELETE of absent file
b1f6ca1
(2.7) webadmin: fix login redirect bug
76421ca
[maven-release-plugin] prepare for next development iteration

Release 2.7.28

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.

pool

A recent release fixed a bug that caused pool.mover.ftp.allow-incoming-connections to be ignored. Fixing that bug revealed another that caused the property to have the opposite effect. This is now fixed.

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.7.27..2.7.28

3d086b7
[maven-release-plugin] prepare release 2.7.28
12918f4
webdav: don’t log a stack-track when proxy transfer is interrupted
1c1803a
info-provider: remove dCacheDomain assumption.
89de4bb
(2.7) gitignore additions for IntelliJ
b60ae5b
libs: update to nfs4j–0.7.9
3a95d15
pool: Fix regression causing FTP movers to default to proxy mode
75399e8
[maven-release-plugin] prepare for next development iteration

Release 2.7.27

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.

dcap

Fix regression against v2.6 and earlier dCache in how gsidcap doors are known to SRM and how they are published in BDII/GLUE.

pool

The pool.mover.ftp.allow-incoming-connections property had no effect. 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.7.26 to 2.7.27

a87b504
[maven-release-plugin] prepare release 2.7.27
7b429d6
webdav: Fix reported content length for partial GETs
1c1a565
webdav: Fix return code on DELETE of absent file
25eb7c0
srm: fix semi-infinite ls range with non-zero offset
11e6617
pool: Fix typo that breaks pool.mover.ftp.allow-incoming-connections
a4105df
shell: fix shell oracle for configuration keys with a space
317759c
dcap: Fix regression in published protocol family
ef082dd
[maven-release-plugin] prepare for next development iteration

Release 2.7.26

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.7.25 to 2.7.26

fb6a0f3
[maven-release-plugin] prepare release 2.7.26
cb1363e
poolmanager: Fix full pool detection for WASS
0ee48ba
Upgrade to Milton 2.6
c68404b
pool: reorder ip addresses returned to NFS client
9b36236
nfs: fix NPE on door reboot
73900fa
[maven-release-plugin] prepare for next development iteration

Release 2.7.25

httpd

dCache versions including and after 2.11.0, 2.10.9, 2.9.12, 2.8.16, 2.7.21 and 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.7.24 to 2.7.25

0934278
[maven-release-plugin] prepare release 2.7.25
64b68e9
imera: protect against NPE in FsSqlDriver#read
e0f05ed
pool: Avoid interrupting Berkeley DB in migration module server
33dbe20
(2.7) dcache-webadmin: revert rrd data source names
56bd804
[maven-release-plugin] prepare for next development iteration

Release 2.7.24

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 and httpd.container.webapps.tmp-dir properties are now obsolete.

Changelog 2.7.23 to 2.7.24

d94412b
[maven-release-plugin] prepare release 2.7.24
11152cd
[maven-release-plugin] prepare for next development iteration
9246193
5c916a7
(2.7) dcache-webadmin: change Jetty setting so .war is not unpacked

Release 2.7.23

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.7.22 to 2.7.23

9d5ea4b
[maven-release-plugin] prepare release 2.7.23
ee94b7f
alarms: fix regex for checksum alarm
882a808
webadmin: remove redundant head element in alarms panel html
2151c98
dcache-webadmin: change output field of cell admin page to monospace font
93154cc
(2.11) dcache-webadmin: eliminate clojure dependency
fbcda63
nfs-proxy: kill mover if we get a timeout on redirect
a519afe
libs: update to nfs4j–0.7.8
14b9429
chimera: protect list initialization from FS inconsistencies
80a82ed
webadmin: tidy up unavailable page slightly
f2bb5ea
chimera: prevent attempts to remove ‘.’ and ‘..’
5fd14f2
[maven-release-plugin] prepare for next development iteration

Release 2.7.22

Fixes affecting multiple services

Update dcache check-config to print an error if site-local configuration contains scoped properties: one that contain a ‘/’ character.

httpd

Fix pool queue plots in webadmin.

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.7.21 to 2.7.22

1d8ed2e
[maven-release-plugin] prepare release 2.7.22
dec5404
chimera: Add messages to JdbcFs#move exceptions
b8b5271
poolmanager: Warn when spacecostfactor is too big
1e798b0
check-config: Produce error when using scoped properties
3882b6f
(2.7) pool queue plots - fix partial package refactoring and neglected removal of jndi arguments
9a69294
pom: update to nfs4j–0.7.7
3a6d360
[maven-release-plugin] prepare for next development iteration

Release 2.7.21

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.7.20 to 2.7.21

7d9b706
[maven-release-plugin] prepare release 2.7.21
12ba285
gplazma-xacml: Add handling of GID returned by GUMS in gPlazma2 XACML plugin
91781bf
chimera: fix unit tests
13792a7
pool: Fix pool size health check in case of asynchronous release of space
1a4c728
pool: Fix race leading to false positices in pool size health checks
841db65
pool: Fix ISE in CacheEntryImpl#toString
2d718f8
pool: Fix ISE in ‘rep ls’
0c7b7da
Made PoolQueuePlotData enum compatible with java 8.
3937bf9
(2.7) webadmin: fix exit login in billing refresh loop
cce604e
Marked refresh properties obsolete.
4f0e42a
cell: Log exceptions within the correct cell context
7b90e31
pool: Fix pool selection bugs in migration module
2fcf8e2
billing: Add file size to request records
1006921
(2.7) webadmin: minor improvements to rrd4j-based pool-queue plots
8eb2bfb
Backport PortRange extensions
e6506de
pool: Respect LAN port range for internal srmcp transfers
c6f0e82
srm: Fix listing of failed, done and cancelled jobs
8cee43b
cell: Prevent interpreter stack overflow from killing the domain
0058a24
cell: Declassify eval failure as a bug
c66803f
[maven-release-plugin] prepare for next development iteration

Release 2.7.20

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.

Update the comments within the configuration property files to reflect the new configuration property names.

Fix OpenMQ communications to use new configuration property names.

dcap

Fix opening a file when space-manager enabled.

nfs

No longer trigger an NullPointerException when opening the .(parent)() dot-command file in Chimera’s root directory.

The dcache ports command now shows the NFS port based on the new configuration properties.

pool

Fix xrootd support for vector read. The problem was discovered with ROOT v6, which reports errors like Single readv transfer is too large.

Fix the dcap mover to use the new pool.mover.dcap.port configuration property.

srm

Fix veracity of information stored about jobs.

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.7.19 to 2.7.20

1341fca
[maven-release-plugin] prepare release 2.7.20
c97205b
dcap: fix interaction with Spacemanager
ff80c02
xrootd: Upgrade to xrootd4j 1.3.5
9a363b7
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.
7fe7190
pool: Fix xrootd vector read limits
d3698e5
chimera: fix NPE on ‘.(parent)()’ for root inode
5a659f4
srm: Fix asynchroneous job storage leak
4ee3b2b
configuration: adjust references to deprecated properties
d514a61
unittests: increase timeouts and fix race in DiskSpaceAllocatorTest
bbea785
[maven-release-plugin] prepare for next development iteration

Release 2.7.19

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.7.18 to 2.7.19

37857d9
[maven-release-plugin] prepare release 2.7.19
a1724a6
cells: remove System time dependency in unit-test
3c7aa89
common: Fix race condition in AtomicCounter unit test
2f2b364
billing plots: use ‘transferred’ rather than ‘size’ for bytes
e848e3b
libs: update jglobus to 2.0.6-rc8.d
387dd2a
Avoid thread-unsafe use of SimpleDateFormatter
98f357b
libs: update to jglobus–2.0.6-rc7.d
e230fb7
libs: update to nfs4j–0.7.6
81d6db9
[maven-release-plugin] prepare for next development iteration
7a2013d
build: Update to findbugs 3

Release 2.7.18

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.7.17 to 2.7.18

8bca999
[maven-release-plugin] prepare release 2.7.18
16f9adb
chimera: mark as-run if i_dirs_ipnfsid exists
36cc04e
solaris: fix solaris package script and add work-around for pkgmk bug
134fdf5
chimera: create missing index i_dirs_iparent
855242a
pool: Resolve high memory usage and other issues in sweeper
8204200
info: Fix HashMap ordering assumption in unit test
917e5bd
Make JDK byte code verification bug workaround Java 8 compatible
3a20f1b
gplazma: Fix JVM implementation dependency in unit test
10bcc96
poolmanager: Suppress stack trace in case of unmatch units
06fa33d
xrootd: Add billing entry on delete
f18e9a4
bugfix: fix reverseMap not throwing NoSuchPrincipalExceptions
0c362a2
Update chimera-cli
cbb0a21
[maven-release-plugin] prepare for next development iteration

Release 2.7.17

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.7.16 to 2.7.17

cb9c6bf
[maven-release-plugin] prepare release 2.7.17
9c88be2
build: add work-around for JDK bug and PowerMock
d78c77a
poolmanager: Fix ‘request clumping limit reached’ failures
6394085
poolmanager: Avoid request leak
e6ed8dd
alarms: Fix checksum alarm filter.
c4d9ac3
deb: Add python-psycopg2 as a recommended dependency
96a34af
[maven-release-plugin] prepare for next development iteration

Release 2.7.16

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.7.15 to 2.7.16

22c66a3
[maven-release-plugin] prepare release 2.7.16
9256873
Suppress nfs’ file protocol from being published
8214176
pool: Fix race condition that leads to orphaned files
e5b1a4d
dcache-webadmin: fix pool queue plot grid placeholder image
34ef13e
(2.7) webadmin: fix regression in alarm deletion filter
dc9c398
[maven-release-plugin] prepare for next development iteration

Release 2.7.15

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.

srm

Increase scalability of SRM by allowing work to spread over more CPU cores during file upload and download.

xrootd

Honour the WriteToken directory tag and implicit reservation when writing data.

nfs

Honour the WriteToken directory tag and implicit reservation when writing data.

Changelog 2.7.14 to 2.7.15

daa127f
[maven-release-plugin] prepare release 2.7.15
be83804
pool: log with error if checksum scanner gets an IO error
93ba5f3
Fix ArrayIndexOutOfBoundsException when processing multiple surls invoking srmget.
bfbafbb
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.
581400e
http: fix missing imports
d3ecb7f
http: do not use new API
0854ce7
http: fix multipart response size
85f91aa
xrootd,nfs: Add support for space management
e319e63
srm: Fix lock congestion
9558982
http: add minimal HEAD support in the mover
9b2d16e
[maven-release-plugin] prepare for next development iteration

Release 2.7.14

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.7.13 to 2.7.14

ef4bd4a
[maven-release-plugin] prepare release 2.7.14
ca64cc7
xrootd: Quote IPv6 addresses in kXR_redirect replies
e346f7b
xrootd: Fix error message for read patch check
66e2ab0
dcache-webadmin: fix login redirect bug which misleadingly results in Access Denied Page
5d42e03
xrootd: Upgrade to xrootd4j 1.3.3
013f7e6
scripts: allow java8 runtime
6440b07
dcap: ensure that we remove session on DoorTransferFinishedMessage
5b12cb9
[maven-release-plugin] prepare for next development iteration

Release 2.7.13

ftp

Don’t export child doors. When a client connects, the ftp door creates a child cell that handles the client requests. Changes in 2.7 meant that these child cells mistakenly became well-known cells. This is now fixed.

dcap

Don’t export child doors. When a client connects, the dcap door creates a child cell that handles the client requests. Changes in 2.7 meant that these child cells mistakenly became well-known cells. This is now fixed.

srm

Update the SRM to use the SRM-specific configuration property (srm.enable.space-reservation) rather than the generic property (dcache.enable.space-reservation). As the default value for srm.enable.space-reservation is the value of dcache.enable.space-reservation, this change should not affect sites.

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.7.12 to 2.7.13

9fb151f
[maven-release-plugin] prepare release 2.7.13
dd9810c
unit-tests: ignore broken unit-test
4dfc4c8
xrootd: Backport door and mover from dCache 2.9
1690408
info-provider: fix works-by-accent bug when importing dCache config
79f138d
pom: update jglobus library
61eb17b
srm: Use srm.enable.space-reservation rather than dcache.enable.space-reservation
780c31c
ftp,dcap: Don’t export child doors
c032fac
[maven-release-plugin] prepare for next development iteration

Release 2.7.12

httpd

Prevent reading of configuration files.

srm

Fix how the status of requests that can contain multiple files (Get, Put, Ls, BringOnline, Copy) are calculated and avoid “illegal state transition” errors that are sometimes logged.

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.

gplazma

ldap plugin allows ldap server’s URL to be specified.

Changelog 2.7.11 to 2.7.12

c70255d
[maven-release-plugin] prepare release 2.7.12
b6fd9b5
httpd: Fix a couple of bugs
bc95128
srm: Avoid duplicate status code update on status query
a959d6e
chimera: Fix duplicate key supression
3968fb2
pool: Improve how we deal with unexpected files in pools
c848be2
pool: Log P2P fatal errors with stack trace
62ca8b1
srm: Fix transition ordering for restored requests
8677289
webdav: work-around race-condition in StringTemplate library
6443fcc
systemtest: regenerate host credentials, add user credentials
2aa47af
remove deprecated annotations for back-port
382145f
gplazma2-ldap: use url rather than host+port
ab04131
fhs: Use gzip compression for deb package
4a78733
[maven-release-plugin] prepare for next development iteration

Release 2.7.11

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.

nfs

Ensure error messages are logged with the diagnostic context (the information in the square brackets).

Changelog 2.7.10 to 2.7.11

902200a
[maven-release-plugin] prepare release 2.7.11
8aea536
dcache alarms: add missing configuration elements and documentation for SMTP appender
21b98b7
statistics: Fix NPE
5134f23
pool: Report correct client IP to billing for passive FTP transfers
a5b50b5
poolmanager: Fix infinite loop in lru partition type
969e14f
nfs: do not use CDC as try-with-resource
f1b91b1
[maven-release-plugin] prepare for next development iteration

Release 2.7.10

ftp

A dCache cell is created each time an FTP client connects to the control channel. This release fixes the problem that these cells are not killed after the client disconnects.

nfs

Fix reading and writing to the non-zero levels (i.e., file metadata) through NFS.

Fix directory listings so a user attempting to list a directory that they are not allowed to see will receive a “permission denied” error rather than an IO error.

info-provider

Fix how the SRM is published within the GLUE v1.3 tree.

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.7.9 to 2.7.10

0164723
[maven-release-plugin] prepare release 2.7.10
47cdb04
poolmanager,pool: Fix precision underflow in WASS
19e0df3
scripts: fix host-credential generation
96d5afa
info-provider: fix capitalisation of SRM in ControlProtocol
9499531
libs: update to nfs4j–0.7.5
d40c343
[maven-release-plugin] prepare for next development iteration

Release 2.7.9

ftp

Fix the CKSM command for paths containing a space.

Solaris

Reintroduce the option to build Solaris packaging; it is still the “old” package format, but this is supported by Oracle Solaris 11.

srm

Fix a problem where the order in which SRM loaded information back from the database on startup was not as expected, resulting in increased start-up time.

Fix how often the SRM checks for expired jobs: before it was every 60 milliseconds, now it is once a minute.

billing

Make the pattern matcher in the billing file parser case insensitive. This solves a bug in which old billing records were not indexed, so sites using the indexer are recommended to reindex using the /usr/sbin/dcache-billing-indexer -all command.

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.

loginbroker

Avoid sending a flood of “Failed to send update to..” messages during shutdown.

Fix the lb set update command.

Changelog 2.7.8 to 2.7.9

436369c
[maven-release-plugin] prepare release 2.7.9
bcded81
ftp: add missing import statements
bb52965
ftp: fix CKSM command for files with white-space
9854d06
pkg: fix solaris packaging
2caf2a8
srm: Avoid loading the same job multiple times
cb673cc
srm: Fix scheduling period for expiration task
f5a2e21
billing: Make indexer case insensitive
5d39981
pool: Avoid memory exhaustion problems on write with xrootd and http
fb12eb2
pool: Fix lock problems in xrootd and http movers
3ac7ace
loginbroker: Fix login broker registration retry
41e487a
[maven-release-plugin] prepare for next development iteration

Release 2.7.8

pool

Fixed WebDAV and HTTP support for libneon clients. This includes ROOT as it now uses the davix library, which is built on libneon.

nfs

Fail an attempt to open file if the pool reports that this file is on a broken tape.

Changelog 2.7.7 to 2.7.8

784a142
[maven-release-plugin] prepare release 2.7.8
448776a
nfs: return NFSERR_IO is we detect broken file on tape
b0f5455
http: adjust unit test to multirage changes
3198df7
http: fix multipart reply
9506280
[maven-release-plugin] prepare for next development iteration

Release 2.7.7

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.

Fix typo that prevented the use of a history file for SSH v1 service.

nfs

Add support for open-less read requests. Under certain recovery conditions the Linux kernel client will use a special NFS operation to read a file without opening it first. This is now supported.

Avoid leaving dead records if the NFS door was unable to start a mover.

Fix log messages to include context information when client uses proxied IO.

Fix lookup on the root of the tree.

Translate problems with underlying namespace into more exact NFS errors.

Fix a number of obscure errors, including attempts to move a file as a parent of another file and other illegal operations.

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.7.6 to 2.7.7

1046056
[maven-release-plugin] prepare release 2.7.7
4e42d34
ssh1: Fix typo in service batch file
5ad66e4
xrootd: Upgrade to xrootd4j 1.2.5
03940f9
pool: Fix logging context for thread pool
020793b
srm,srm-client: Report failure for failed SRM v1 transfers
d3e262b
srm-client: fix adler32
d831669
chimera: fix rename into a file
ef40526
libs: update nfs to 0.7.4
bc76f5a
nfs-proxy: fix logging CDC
f3d3e8e
nfs4: clean failed request from pending queue
a5bbe91
nfs-proxy: add support for open-less read requests
155db00
Fix NPE in save command
8b7c014
pool: Fix access time update
d39e76a
xrootd: Upgrade to xrootd4j v1.2.4
26959ce
core, billing: remove unit test
04813ed
[maven-release-plugin] prepare for next development iteration

Release 2.7.6

admin

Fix a regression that prevented the command ACLs from working correctly.

webadmin

Fix a bug in the Tape Transfer Queue page that causes a page refresh to hang occationally with “IndexOutOfBoundsException” being logged.

Communication

Provide better logging if a dCache domain cannot connect to the host described by the dcache.broker.host property.

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.

nfs

Fix regression introduced in 2.7.5 that prevented special ‘dot command’ files from working.

Added the dcap and no_dcap options to the NFS exports file. If no_dcap is specified then applications linked against libdcap will use regular POSIX operations when reading or writing to an NFS-mounted dCache. If dcap is specified then such applications will attempt to contact a dcap door when reading or writing data. The default is dcap, which is consistent with previous versions of dCache.

Prevent creating an orphaned NFS-proxy mover if the client attempts proxy IO with invalid information.

Allow the .(get)(filename)(locality) dot command to work with arbitrarily long filenames. Add support for the .(get)(filename)(checksum) dot command.

Fix a compatibility between NFS door and v2.6 pools.

Important: if dCache is configured to allow NFS access then 2.7-release pools must run v2.7.6 or newer. Compatibility with 2.6-release pools requires the nfs service be v2.7.6 or newer.

Changelog 2.7.5 to 2.7.6

112a566
[maven-release-plugin] prepare release 2.7.6
96d0f29
libs: update to bugfix nfs4j–0.7.3
c174aaf
dcache-core, alarms: remove postgresql precondition on schema
c544941
dcache-webadmin: fix ArrayIndexOutOfBounds exception in ListView (Tape Transfers page)
335b3a0
pom: enforce maven-release-plugin 2.4.2
5be250a
libs: update nfs library to 0.7.1
24cfac7
chimera: refactor PGET, part 2: eliminate caching of file locality node
ad46dfb
chimera: refactor PGET into abstract node
4dc9af1
nfs4: fix orphan proxy movers
dd71ad7
chimera: tigger action with FsInode_PSET#setStat()
d483552
pool: Do not save terminated jobs to setup file
4dd4ece
nfs: fix compatibility with 2.6
3dfd7a1
cells: Catch UnresolvedAddressException
c09fc53
admin: fix batch file of acm cell
5953f18
(2.7) chimera: add “.(get)(filename)(checksum)” command
f7f6c6f
(2.7) chimera: fix get locality to work with id-type FsInode
55f28ec
nfs4: fix IO on special files
d944651
prepare for next development iteration

Release 2.7.5

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. Fix typo in spacemanager.enable.reserve-space-for-non-srm-transfers property name (the old, misspelt property is still honoured, but deprecated). Fix support for spacemanager.enable.space-reservation: previously only the generic dcache.enable.space-reservation was honoured.

billing

Adjust the automatic index creation so it now happens concurrently. This speeds up dCache startup after upgrading from before 2.7. Sites already upgraded to 2.7 are not affected.

nfs

dCache now supports an NFS v4 client requesting a file’s data through the door. There are too many situations where the Linux kernel NFS client switches from reading data directly from the pool (PNFS) to requesting that data from the door (non-PNFS). Previous versions of dCache did not support reading data through the door so, if this happened, the application would see an IO error. Starting with this version of dCache, such client behaviour will no longer result in an error.

Changelog 2.7.4 to 2.7.5

71d5f9c
prepare release 2.7.5
1aa304e
spacemanager: Fix use of global property in spacemanager configuration
8c8ab76
nfs4: implement proxy-io on read
9411d6f
libs: update nfs4j to 0.7.0
f85249c
(2.7) dcache-core (billing): modify changesets to do concurrent index creation
e9a4225
defaults: fix typo in common header
f2f17ef
spacemanager: Fix typo in property name
2c46f69
defaults: add common explanation of annotations
67b9e74
(2.7) dcache-webadmin: put limit on entries in alarms table
efa3183
(2.7) dcache-webadmin: wget xml statepath (Info page) fails with HTML 500 error
9951c95
(2.7) dcache-core (statistics): fix yet another potential NPE in tree creation
a3f7315
(2.7) dcache-core: fix statistics totals for top, year and month
67f9ca7
[maven-release-plugin] prepare for next development iteration

Release 2.7.4

pool

Kill nfs movers where client didn’t show up within session lease time. Currently, the NFS door is responsible for cleaning up any left-over movers. This release adds a more robust solution by allowing pools to clear NFS movers itself.

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.

nfs

Provide a shorter guaranteed respond time. This helps avoid that a client backs off all activity, which needlessly slowing down traffic.

Avoid that internal statistics to prevent integer overflow on busy sites.

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.

Avoid that internal statistics to prevent integer overflow on busy sites.

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.

Changelog 2.7.3 to 2.7.4

b119b7e
[maven-release-plugin] prepare release 2.7.4
742c6be
commons: use long to store updates count of a gauge
e4cf5c1
pool: Fix race condition in migration module
f5905a0
nfsv41: use sort timeout between door and pool manager
50ec484
scripts: fix dcache script for Solaris machines
6d7dc18
webdav: log why request is rejected with permission denied
37ed68d
(2.7) dcache-webadmin: fix comparison semantics
1c91a68
srm: add missing information from “ls queues” command
ea6a491
nfsv41: garbage-collect expired moved
0ead76f
[maven-release-plugin] prepare for next development iteration

Release 2.7.3

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 a bug where Chimera would delete the target of a symbolic link when instructed to delete the symbolic link.

Changelog 2.7.2 to 2.7.3

536768c
[maven-release-plugin] prepare release 2.7.3
23480c0
Fix configuration cache invalidation
810d8b4
chimera: use path to get files parent on remove
34c55b6
[maven-release-plugin] prepare for next development iteration

Release 2.7.2

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.

Attempting to create hard links in dCache with NFS v3 fail with a file exists error message. This release of dCache fixes that problem.

srm

Do not record a stack-trace if client disconnects before response is sent.

jGlobus

Affected services: xrootd (with xrootd.plugins=gplazma:gsi), webdav (with webdav.authn.protocol=https-jglobus), ftp (with ftp.authn.protocol=gsi), 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.7.1 to 2.7.2

ef8f867
[maven-release-plugin] prepare release 2.7.2
1fa99ca
pool: Fix command string output for migration commands
462cdb2
Add help text for rebalancer.
950f374
gPlazma: add public key size information to gPlazma results printer
49bbca5
Fix log message containing invalid access latency and retention policy values
eb73560
libs: update nfs library
9cb68cb
transfermanagers, replica, admin: Fix pool to pool transfers
75f38af
gPlazma-ldap: fix non-serializable Set problem
b415dae
libs: update jglobus libraries
2f86d71
srm: Supress stack trace on EofException in Axis 1
cdef13e
srm: Supress stack trace on EofException in Axis 1
1b26bf7
ldap: fix filter property
6e66c00
chimera: compact hadles passed to NFS server
7e54941
dcap: separate protocol name and client ip in DCapProtocolInfo#toString()
747a89c
[maven-release-plugin] prepare for next development iteration

Release 2.7.1

info-provider

Fixed publishing of SRM endpoints in GLUE v1.3 output.

admin

Fix how the infinity value is handled by dCache configuration when disabling the automatic log-out if the SSH session has been idle for too long.

billing

Fix Debian cron-based daily invocation of billing’s indexer tool.

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.7.0 to 2.7.1

ef6b0bf
[maven-release-plugin] prepare release 2.7.1
f0d7696
billing: Add shebang header to indexer cronjob
1eb53cb
pool: Fix -sticky option in migration module
977edf6
srm-client: fix building of tagged RPMs
900fc4f
info-provider: Fix regression in publishing GlueServiceEndpoint
cf32526
ssh2: fix int overflow with timeout
8e92015
[maven-release-plugin] prepare for next development iteration
389d814
correcting IoMode check for SEEK_AND_WRITE
c1f7795
(2.7) dcache-webadmin: remove autorefresh on pages with ListViews

Release 2.7.0

Incompatible Changes

Upgrading from 2.6 to 2.7 will require some manual adjustments to the dCache configuration. The changes are described in detail in the following section, but for the impatient, the incompatible changes are:

  • Most configuration properties have been renamed. Although most old properties names can still be used, a few are no longer supported. Upon upgrade these have to be changed in the dCache configuration.

  • Several service definitions have changed. In particular, flavors of DCAP, FTP and NFS doors have been collapsed, and several redundant services have been removed. The layout files instantiating such services have to be updated.

  • The classic pool manager partition type has been removed. Wass or some other pool selection algorithm must be used instead. If you relied on the classic partition type, you have to manually adjust poolmanager.conf during upgrade.

  • Several default values for configuration properties have changed. Although we believe the new defaults are better, you should review the changes while upgrading. The changes are summarized in the tables at the end of the release notes.

The changes should be straightforward to any dCache configuration.

Warning By default dCache used to not allow overwriting of files using ftp or srm. In order to be standards compliant this has been changed. The default value for srm.enable.overwrite and ftp.enable.overwrite is true.

Configuration Changes

In dCache 1.9.12 the entire configuration system was rewritten. The new system introduced a layered configuration system, with default files shipped with dCache, a system wide configuration file, dcache.conf, and a host configuration file, the layout file.

At the time, most configuration properties remained unchanged, to ease transition to the new configuration system. Over time this has lead to an inconsistent mess of mixed naming schemes, inconsistent configuration property names, inconsistent units for expressing durations and timeouts, and inconsistent values for boolean properties.

The new configuration system introduced in dCache 1.9.12 also introduced a scoping operator. This operator has led to a lot of confusion, as even expert users didn’t understand its semantics. The operator allowed the same property to have different default values depending on the service that used it. The operator was most widely used for defining a cell name using the common cell.name property, as well as for TCP ports using the port property.

Based on feedback at the 2013 dCache user workshop, we decided to clean up the dCache configuration. The configuration system itself stays mostly unchanged: There are still default files, a dcache.conf file, and a layout file. Most properties have however been renamed.

To the extend possible, old property names still work, although they have been marked deprecated and will be removed after the next golden release. The scoping operator has been removed and replaced by a strict naming convention.

Warning Because the scoping operator was removed, a few properties that relied on the operator can no longer be supported and these must be changed on upgrade. Except for trivial deployments, upgrading from 2.6 to 2.7 cannot be done without changing at least a few properties. At the end of the relase notes you find several tables listing all deprecated properties and their alternatives.

Naming conventions

All properties now follow a strict and hierarchical naming scheme. Property names are always lower case, a hyphen is used as a word separator, and dot as a node separator in the naming hierarchy. All properties used by a service are prefixed by the service type, eg, all srm properties begin with srm. and all pnfsmanager properties with pnfsmanager..

Properties that begin with dcache. don’t belong to any particular service: They are either not used by services (such as properties for defining JVM options, or options for configuring an entire domain), or they are used by multiple services. In the latter case, each service will define a similarly named property prefixed with its own name; e.g., dcache.net.listen defines the primary IP address services bind to, however no service uses that property directly. Instead each service defines a *.net.listen property that defaults to the value of dcache.net.listen, such as srm.net.listen=${dcache.net.listen}. This provides some of the same flexibility as the scoping operator used to, as we can define per service defaults.

Time units

All properties that specify a time duration now have a sister-property suffixed with .unit that specifies the time unit; e.g., ftp.performance-marker-period specifies the time between two FTP performance markers. ftp.performance-marker-period.unit specifies the time unit of ftp.performance-marker-period (which happens to be SECONDS). In a few cases the time unit is immutable, however in most places it is configurable.

We recommend to explicitly define the unit if any property specifying a time duration is changed: In future releases we may decide to change the time unit and making the unit explicit in the dCache configuration guards against such changes.

Booleans

In the past, boolean properties used a mixture of values like true, false, enabled, disabled, yes, no, etc. In some cases the properties involved double negations, like billingDisableTxt which had to be set to no to enable billing logging to flat text files.

Boolean properties now always use the values true and false, and are always phrased as enabling something.

Common properties

Some property naming patterns are reused in most services. This section describes some of them. In the following an asterix is used where the service type is to be inserted.

*.cell.name defines the name of the primary cell of the service.

As a new feature, *.cell.export controls whether the cell name is exported as a well known cell. Well known cells must have a unique name throughout dCache, but have the benefit that they can be addressed using the cell name only rather than the fully qualified cell address (that also contains the domain name). Most notably, this can be used to embed a gPlazma instance in the same domain as a door without exporting the gPlazma name. Thus that gPlazma instance is only used by doors in that domain. This replaces the feature to use gPlazma as a module.

*.service.SERVICE is the cell address of SERVICE. Eg ftp.service.pnfsmanager is the cell address of pnfsmanager as used by ftp doors. If the service has a well known name, only the well known name needs to be specified in the address. Otherwise the fully qualified cell address must be used. We tried to make all service names configurable through this mechanism. Combined with the ability to change cell names and not exporting services as well known, these changes provide lots of flexibility for advanced deployments. Any hardcoded service names left in dCache should be considered a bug to be reported.

*.service.SERVICE.timeout is the communication timeout for requests to SERVICE.

<em>*.db.</em> are database parameters; e.g., name, host, account, password, etc.

<em>*.enable.</em> are feature switches; e.g., *.enable.space-reservation.

any-of annotations

A new any-of annotation was added. It is used for properties that accept a list of comma separated values.

Service changes

Note The following sections do not list the extensive changes in property names or property default values. We provide tables at the end of the release-notes summarizing such changes.

Overview

This section describes renamed, collapsed, split, and removed services. A summary of the changes is contained in the following table.

Removed services
Service Alternative Remark
gridftp ftp set ftp.authn.protocol = gsi
kerberosftp ftp set ftp.authn.protocol = kerberos
gsidcap dcap set dcap.authn.protocol = gsi
kerberosdcap dcap set dcap.authn.protocol = kerberos
authdcap dcap set dcap.authn.protocol = auth
nfsv3 nfs set nfs.version = 3
nfsv41 nfs set nfs.version = 4.1
acl pnfsmanager set pnfsmanager.enable.acl = true
dummy-prestager pinmanager
webadmin httpd
hopping hoppingmanager
srm-loginbroker loginbroker srm-loginbroker can simply be removed from layout
gsi-pam gplazma most likely you can just drop this service from the layout
admin admin and ssh1 ssh1 password authentication and CLI ACL setup is now in dCacheDomain

Merged and split services

In previous releases some doors had multiple variants, eg DCAP existed as both a plain, Kerberos and GSI version, same for FTP, and NFS existed as both an NFS 3 and an NFS 4 version (and the NFS 4 version confusingly was able to serve NFS 3 too). Most properties used by these doors were used by all variants of a door.

To make this relationship clearer, and to avoid having to duplicate all those properties for each variant, variants of a door have now been collapsed into a single service. A configuration option allows the authentication type or NFS version to be configured.

Specifically, the services ftp, gridftp, and kerberosftp have been collapsed into the service ftp with the configuration option ftp.authn.protocol setting the authentication protocol. The services dcap, gsidcap, kerberosdcap, and authdcap have been collapsed into the service dcap with the configuration option dcap.authn.protocol setting the authentication protocol. The services nfsv3 and nfsv41 have been collapsed into the service nfs with the configuration option nfs.version defining the NFS version.

Paradoxically, the admin service has been split into two services admin for SSH 2 support, and ssh1 for SSH 1 support. This is because the two variants hardly share any configuration options, and because the SSH 1 version is scheduled for removal in the near future.

Removed services

The services acl, dummy-prestager, webadmin have been removed entirely. For several releases these services did nothing more than print a warning that the functionality has been embedded in other services.

The service gsi-pam has been removed. It was a legacy service that did not serve any purpose.

The srm-loginbroker service has been removed. SRM now registers directly with the regular loginbroker service.

Renamed services

The hopping service has been renamed to hoppingmanager.

Service: nfs

Improved the performance in listing of big directories.

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.

If security flavor used does not match the one in the export file requests are rejected.

Improved compability with linux client. ipmaping accepts numeric id’s (like nfsv3 ).

Added support for all_squash export option, e.q. all users are mapped to nobody.

Exposed directory listing cache via JMX.

Added the property nfs.enable.portmap to disable embedded portmap service.

Service: admin

The output of the build in help command has been improved for some commands. The output is now formatted similar to classic man pages. In ANSI terminals the output uses highlighting to make the output easier to glance over.

An entirely new pcells SSH subsystem was added to the SSH 2 implementation. This will be used by a future version of the pcells client to communicate with the admin door.

ssh1 support has been removed from the admin door. An ssh1 service called ssh1 has been added to provide ssh1 support, but that service will likely be removed in dCache 2.8 when the new pcells is released.

Service: webdav

The webdav door allows uploads and downloads to be proxied throught the door as an alternative to redirecting the client to the pool. For download we have used HTTP for the transfer between the door and the pool, but for upload we used an FTP data channel. We did this because originally the HTTP mover did not support upload. This has now been changed such that proxied HTTP upload also uses HTTP between the door and the pool. The primary admin visible change is that the TCP connection is now created from the door to the pool rather than from the pool to the door. The configuration property webdav.net.internal is now used as a hint for the pool to select an interface facing the door. The property is respected by both proxied downloads and proxied uploads.

Service: srm

Several changes have been made to how user identities are represented internally. The only visible change is that the output of the ls command in the admin shell now lists the request owner’s principals.

Caching of gPlazma mappings in the SRM has been rewritten. The cache size and lifetime are configurable using the srm.service.gplazma.cache.size and srm.service.gplazma.cache.timeout properties.

Logging in the SRM has been cleaned up. Session identifiers associated with log statements have been shortened. Many error messages and warnings have been improved. Many minor race conditions that lead to unnecessary log entries have been fixed.

Persistence of SRM requests to the database has been heavily refactored and improved. The consequence is that SRM database throughput should be much higher than in earlier versions. Loading requests back from the database during startup should be faster, and the risk of database queue overflows should be reduced. The SRM now uses a shared database connection pool for all its subsystems, which should lead to fewer database connections being created. The connection pool limits are configurable using the new properties srm.db.connections.partition-count, srm.db.connections.max-per-partition and srm.db.connections.min-per-partition.

SRM protocol compliance has been improved for many SRM requests. The consequence is that for many errors the SRM now returns an error specific return code rather than the generic SRM_FAILURE response. The associated error message has also been improved in many cases.

Many SRM status queries (eg srmStatusOfPutRequest) now return the text associated with the latest internal action rather than the internal scheduler state. The hope is that this makes it easier to understand what may be blocking slow SRM requests. This work is still in progress and will be improved further in dCache 2.8.

Fixed an issue in srmSetPermission in which permission bits where toggled rather than cleared. We now report that the REMOVE operation is not supported as the semantics described in the SRM spec only is applicable to ACLs.

Improved SRM spec compliance by changing the default value of srm.limits.ls.levels to infinity.

Service: gplazma

htpasswd plugin

A password authentication plugin called htpasswd was added supporting the common htpasswd file format used by many web servers. Only the MD5 hash format is currently supported. Use the htpasswd utility available on most operating systems to create and manage htpasswd files.

Embedding gplazma

gPlazma has always had two modes of operation: As a standalone service or as a module in which it would be used directly by a door. In 1.9.12 the module-mode was replaced by an automatically created non-exported gPlazma instance running in the same domain as the door. Due to the way cell routing works, this meant that doors in that domain would use the local gPlazma instance.

In 2.7 the explicit module-mode has been removed completely. Instead one can achieve the same effect by manually adding a gPlazma instance to a domain with doors and set gplazma.cell.export to false. Such a gPlazma instance is not published to the rest of dCache and will thus only be used by doors in the same domain.

The benefits of this approach are that it is much more obvious how things are put together, and such a local gPlazma instance can be configured like any other gPlazma instance. It also makes it possible to have other deployments, like two different local gPlazma instances with non-default cell names, one which can be used by some doors, and the other by other doors; or several exported gPlazma instances with non-default cell names, and some doors configured to use one and other doors to use the other instance. This could for instance be used to distinguish between internal and external doors, or maybe have a different gPlazma setup for admin and httpd login.

Example:

[testDomain]
[testDomain/gplazma]
 gplazma.cell.export=false
 gplazma.cell.name = gPlazma-for-admin
 gplazma.configuration.file = /etc/dcache/gplazma-for-admin.conf

[testDomain/admin]
 admin.service.gplazma = gPlazma-for-admin
 #  The admin service now uses the gplazma service called 'gPlazma-for-admin',
 #  which uses the gplazma-for-admin.conf configuration file.

[testDomain/httpd]
 #  httpd uses the main 'gPlazma' service. 

nis plugin

Fixed a bug in the nis plugin such that the plugin fails on invalid mapping.

ldap plugin

Modified the ldap plugin to fail in the map- or session-phases of a login if no username is supplied or if there is no mapping for this user. Please check your gPlazma configuration if you use the ldap plugin.

Service: pnfsmanager

Addressed a problem that caused ‘null’ to appear in the diagnostic context in log messages.

Addressed an issue that caused messages like Inconsistent message class diskCacheV111.vehicles.PnfsDeleteEntryMessage received form [<SRM-sisyphus@dCacheDomain] to be logged in PnfsManager.

Enabled folding and full path permission check by default and increased default thread count to 12. Note that full path permission check may result in access to files and directories that was allowed before now to be denied. Sites are adviced to check the permission settings on directories on upgrade, or to disable the POSIX compliant full path permission check by flipping the property pnfsmanager.enable.full-path-permission-check.

Service: poolmanager

Classic partitions have been removed

Some years ago, a new load balancing scheme called weighted available space selection (wass) had been introduced. In dCache 2.2 this scheme was used by default for new installations. In dCache 2.7 the old scheme, dupped classic has been removed and wass is now the default partition type. The change has allowed quite some legacy code to be removed and enables future development. In particular, the concept of space cost is more or less gone from the entire code base.

Important Sites still using the classic partition type must manually update poolmanager.conf to create wass partitions instead. When switching from classic to wass, it is important to reset cpucostfactor and spacecostfactor, as the interpretation of these parameters has changed. We suggest to use the default value of 1.0 for both parameters. The exception to the rule is if you used 0.0 for any of those parameters: That value has the same interpretation in classic and wass.

Note After dropping classic we have become aware of a usecase for which WASS is sub-optimal. A new partition type will be added for this usecase and included in a later release of 2.7.

Changes to cost calculation for tape queues

For wass partitions, the algorithm for computing a performance cost has been modified. The performance cost is used for read pool selection.

In previous versions, tape queues (both flush and stage) have contributed to the performance cost the same way as any other mover queue. However, often the number of active flush and stage jobs on a pool have no relationship with the actual load incurred by these jobs: They only indicate how many concurrent instances of the HSM script to create, while the number of streams to and from disk is controlled by the number of tape drives available. Moreover, the number of queued flush jobs is misleading, as the pool has several flush queues not taken into account when computing the performance cost.

The cost calculation has been changed so that the maximum number of active HSM jobs no longer influences the algorithm. Instead, an HSM queue contributes with the cost 1 - 0.75n, where n is the number of active jobs, unless the queue has any queued jobs, in which case the contribution is 1.0. The final performance cost is the average of the contribution of each queue.

Note The performance cost is only used for read pool selection. For write pool selection (including which pool to stage a file to), the weigthed available space selection algorithm is used.

Changes to pool selection unit

The alternate PoolSelectionUnitV2wgap pool selection unit has been dropped. It can no longer be used as a value for the selectionUnit configuration property. We believe that this functionality is no longer required when using wass. Should a need for such functionality arise in the future, it would better be implemented as a new partition type rather than a selection unit.

The pool selection unit now exports more of its state through the bean property and bean properties shell commands.

Changes to shell commands

xcm ls no longer accepts any arguments or options.

cm ls no longer accepts the -size and -d options.

getpoolsbylink no longer accepts the -size option.

rebalance pgroup no longer accepts sc as a value for the -metric option. The new value free has been added instead.

Other changes

Several race conditions have been fixed.

Service: info

Fixed a race condition.

Service: pool

The tape flush logic received a few minor optimisations, and a couple of race conditions have been fixed. Added documentation to HSM related shell commands. Replaced st jobs remove and st jobs kill with st kill, and replaced rh jobs remove and rh jobs kill with rh kill. st jobs ls and rh jobs ls have been removed as st ls and rh ls provide the same functionality. The output format of rh ls and st ls has changed. define class has been removed. The command was marked deprecated in earlier versions.

The migration module no longer recognizes the source.spaceCost and target.spaceCost variables, and it no longer accepts best as a value for the -select option. Migration module commands can now accept more than one pool group as a migration target.

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.

Introduced the new property pool.check-health-command to enable a callout to an external health check script. Set pool.check-health-command=path/to/script to enable it. As the command is executed frequently, it should not perform any expensive checks, nor should the check take longer than at most a few seconds. If the exit code is 0, the pool is assumed to be okay. If the exit code is 1, the pool is marked read-only. Any other exit code will disable the pool.

Service: missing-files

The default broker host missing-files.plugins.semsg.broker.host has been changed to example.org. If you relied on the previous default value, you now have to set the broker host explicitly.

Service: httpd

The default administrative GID has been changed from 1000 to 0. Users with this GID have admin priviledges in webadmin.

Introduced the possibility to sort domain entries on the CellAdmin page.

Fixed access to the active transfers html and txt pages.

Fixed issues preventing the sorting of tables and subtables in webadmin.

Added select/deselect all on lists on the Pool Usage and Active Transfer pages (when in authorized admin mode).

Service: billing

Fixed a regression which caused configurable billing format strings in the billing log files to be respected. Please note that due to the fact that the format strings are now preprocessed by the dCache configuration system escape sequences are preprocessed. Thus you may have to update custom format strings ($$ sequences have to be replaced by $$$$).

Improved the insert queue logic and thereby 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.

Added the script /usr/sbin/dcache-billing-indexer to index and compress billing files. For the Debian package, a cron.daily file has been added that invokes this script with the -yesterday -compress options. This means that for Debian packages we compress and index yesterdays billing file. The dcache script has been extended with a single new command to search billing files, using the index if available (dcache billing [-files] <path>|<pnfsid>|<dn>).

Added the possibility to obtain statistics (printed to billing log and pinboard) via the dcache admin command: display insert statistics <on|off>.

Turning this command on logs the following once a minute:

insert queue (last 0, current 0, change 0/minute)
commits (last 0, current 0, change 0/minute)
dropped (last 0, current 0, change 0/minute)
total memory 505282560; free memory 482253512

insert queue refers to how many messages actually were put on the queue; commits are the number of messages committed to the database; dropped are the number of lost messages; last refers to the figures at the last iteration. For insert queue, this is the actual size of the queue; for commits and dropped, these are cumulative totals.

Chimera

Implemented support for the set-gid bit on directories. This bit is useful for shared directories in which files and sub-directories have to inherit the group ownership of the parent directory. Using the set-gid bit is more flexible than relying on the pnfsmanager.inherit-file-ownership property.

Introduced uri_encode and uri_decode stored procedures. Modified the ChimeraEnstoreStorageInfoExtractor class to handle both encoded and un-encoded file names.

Fixed a severe performance issue on file creation and file renaming when ACLs are enabled

Provided meaningful exceptions on failure to delete a file.

dcache script

dcache check-config

Modified dcache check-config to report mistyped or wrong service types in the layout, and to report potentially mistyped property names in dCache configurations.

Miscellaneous

Enabled logging of slow SQL statements, using a conservative 10 second threshold.

Updated the example layout files and placed them in the directory /usr/share/dcache/examples/layouts instead of /etc/dcache/layouts.

Important RPM users who used to call their layout files single, head or pool should please check that RPM did not rename their layout file.

Fixed a bug in debian installation preventing writes to the httpd directory and thus blocking creation of webadmin directory.

Fixed a race condition in the doors in registration of mover creation and termination.

Upgrade procedure

  1. Prior to upgrading, if you are using the classic partition type for any partition in pool manager, change it to wass. If you use non-null values for performance cost factor or space cost factor, then we suggest resetting these to 1.0

  2. Prior to ugprading, run dcache check-config and fix any warnings. Information about properties marked deprecated, obsolete or forbidden in version 2.6 or earlier has been dropped in 2.7. Failing to do this before upgrading will mean that you will receive no warning or error for using an old property.

  3. Run dcache services and compare the services with the table listing removed services. If any of those services are used, then replace it with the suggested alternative in the layout file.

  4. After upgrade, run dcache check-config. Any error should be fixed. You will receive an error for any forbidden property. Consult the table below for a list of forbidden properties. Likely properties you may have used, but which no longer are allowed, are cell.name, port, useGPlazmaAuthorizationModule, useGPlazmaAuthorizationCell and xrootdPlugins.

  5. Start dCache and verify that it works.

  6. Run dcache check-config and fix any warnings.

Note that some properties that were previously used by several services have to be replaced with a configuration for each service type. You can usually spot these in the tables below when a deprecated property has more than one alternative.

Important This is in particular true for (but not limited to) SRM database settings, that were also used by pinmanager, transfermanagers, and spacemanager. The deprecated legacy names are still used by all four services, however when using the names following the new naming convention, these have to be defined separately for each service type. This reflects that these services do not share any data through the database and thus can be operated in independent databases. In a future update we may introduce common base settings for database configuration shared by all services.

Also note that some properties have changed values or are inverted. The deprecated properties retain their old interpretation, however when replacing those with their new names, you have to update the value. In particular boolean properties that used to accept values like yes, no, enabled, disabled, now only accept true and false.

Summary of property changes

Forbidden properties

Property Explanation
atime.gap Use pnfsmanager.atime-gap
billingDb use billing.text.dir instead
cell.name Use <service>.cell.name instead
db.connections.max-per-partition Use <service>.db.connections.max-per-partition instead
db.connections.min-per-partition Use <service>.db.connections.min-per-partition instead
db.connections.partition-count Use pnfsmanager.db.connections.partition-count
db.driver Use <service>.db.driver instead
db.host Use <service>.db.host instead
db.name Use <service>.db.name instead
db.password Use <service>.db.password instead
db.schema.auto Use <service>.db.schema.auto instead
db.schema.changelog Use <service>db.schema.changelog instead
db.url Use <service>.db.url instead
db.user Use <service>.db.user instead
ftp.authn.kpwd Use gPlazma instead (possibly a localized gPlazma instance for this door)
ftp.read-only Use ftp.authz.readonly
httpHost use info-provider.http.host instead
httpPort use httpdPort instead.
images use httpd.static-content.images instead
kerberos.service-principle-name Use ftp.authn.kerberos.service-principle-name or dcap.authn.kerberos.service-principle-name
poolManager Use poolmanager instead
port Use <service>.net.port instead
saxonDir use info-provider.saxon.dir instead
styles use httpd.static-content.styles instead
useGPlazmaAuthorizationCell Use gplazma instead
useGPlazmaAuthorizationModule Use gplazma.cell.export
webadminAuthenticated use httpd.enable.authn instead
webadminHttpPort use httpd.net.port instead
webadminHttpsPort use httpd.net.https-port instead
xrootdAllowedPaths Use xrootd.authz.read-paths and xrootd.authz.write-paths
xrootdIsReadOnly Use xrootd.authz.write-paths
xrootdPlugins Use xrootd.plugins and pool.mover.xrootd.plugins
xsltProcessor use info-provider.processor instead
xylophoneConfigurationDir use info-provider.configuration.dir instead
xylophoneConfigurationFile use info-provider.configuration.file instead
xylophoneXSLTDir use info-provider.xylophone.dir instead

Obsolete properties

Property Explanation
AccessControlCell Access control cell is hardcoded to cell name ‘acm’
alarms.store.db.changelog set internally
billingChangelog
billingDbCommitIntervalInMilliseconds use billing.db.inserts.timeout-before-commit instead
billingDbCommitRows use billing.db.inserts.max-before-commit instead
billingInfoAccess set internally
billingPlotPropertiesFile no longer supported
collectorTimeout use specific service timeout
costCalculator Use partition manager to choose between cost models
defaultPnfsServer PNFS is not supported
httpd.static-content.plots.subdir No longer used
httpdEnablePoolCollector PoolCollector is now always enabled
nfs.poolmanager.timeout Replaced by nfs.service.poolmanager.timeout (note change in time unit)
nfs.v3 Use nfs.version
nostrongauthorization
pinManagerMaxIdleJdbcConnections
pinManagerMaxJdbcConnectionsWaitSec
poolConnectTimeout Replaced by billing.service.poolmanager.timeout (note the change in time unit)
remoteHttpMaxTransfers Use transfermanagers.limits.external-transfers
replicaDebug Use logging system
srmIgnoreClientProtocolOrder Use srm.protocols.preferred instead (set to gsiftp,gsidcap to achieve the same effect)
sshPort Use ssh1.net.port or admin.net.port instead
sshVersion Use admin and ssh1 services to select between ssh2 and ssh1
transfersCollectorUpdate no longer used
webdavPoolManagerTimeout Replaced by webdav.service.poolmanager.timeout (note change in time unit)
xrootdPoolManagerTimeout Replaced by xrootd.service.poolmanager.timeout (note change in time unit)

Deprecated properties

Property Alternatives
AdvisoryDelete srm.enable.advisory-delete
DefaultAccessLatency pnfsmanager.default-access-latency
spacemanager.default-access-latency
DefaultAccessLatencyForSpaceReservation spacemanager.default-access-latency
DefaultRetentionPolicy pnfsmanager.default-retention-policy
FtpTLogDir ftp.transaction-log
RecursiveDirectoryCreation srm.enable.recursive-directory-creation
SpaceManagerLinkGroupAuthorizationFileName spacemanager.authz.link-group-file-name
SpaceManagerReserveSpaceForNonSRMTransfers spacemanager.enable.reserve-space-for-non-srm-tranfers
aclEnabled pnfsmanager.enable.acl
admin.authorizedKey2 admin.paths.authorized-keys
admin.colors.enable admin.enable.colors
ssh1.enable.colors
admin.dsaHostKeyPrivate admin.paths.dsa-host-key.private
admin.dsaHostKeyPublic admin.paths.dsa-host-key.public
admin.ssh2.gid admin.authz.gid
admin.ssh2AdminPort admin.net.port
adminHistoryFile admin.paths.history
ssh1.paths.history
adminPort ssh1.net.port
alarms.server.config alarms.log.config.path
alarms.server.log.level alarms.log.root-level
alarms.store.db.driver alarms.db.driver
alarms.store.db.host alarms.db.host
alarms.store.db.pass alarms.db.password
alarms.store.db.properties alarms.db.config.path
alarms.store.db.rdbms alarms.db.rdbms.type
alarms.store.db.type alarms.db.type
alarms.store.db.url alarms.db.url
alarms.store.db.user alarms.db.user
alarms.store.path alarms.db.xml.path
allowCleaningPreciousFiles pool.enable.remove-precious-files-on-delete
authenticated httpd.enable.authn
billing dcache.service.billing
billing.format.DoorRequestInfoMessage billing.text.format.door-request-info-message
billing.format.MoverInfoMessage billing.text.format.mover-info-message
billing.format.RemoveFileInfoMessage billing.text.format.remove-file-info-message
billing.format.StorageInfoMessage billing.text.format.storage-info-message
billingDbDriver billing.db.driver
billingDbHost billing.db.host
billingDbName billing.db.name
billingDbPass billing.db.password
billingDbPgPassFileName billing.db.password.file
billingDbUrl billing.db.url
billingDbUser billing.db.user
billingDisableTxt billing.enable.text Note the value is inverted
billingInfoAccessPropertiesFile billing.db.config.path
billingLogsDir billing.text.dir
billingMaxInsertsBeforeCommit billing.db.inserts.max-before-commit
billingMaxTimeBeforeCommitInSecs billing.db.inserts.timeout-before-commit
billingPlotsExportType httpd.plots.billing.type
billingToDb billing.enable.db
broker.amq.host dcache.broker.amq.host
broker.amq.port dcache.broker.amq.port
broker.amq.ssl.port dcache.broker.amq.ssl.port
broker.amq.url dcache.broker.amq.url
broker.cells.config dcache.broker.cells.config
broker.client.port dcache.broker.client.port
broker.domain dcache.broker.domain
broker.host dcache.broker.host
broker.messaging.port dcache.broker.messaging.port
broker.openmq.host dcache.broker.openmq.host
broker.openmq.port dcache.broker.openmq.port
broker.openmq.reconnect.interval dcache.broker.openmq.reconnect-interval
broker.port dcache.broker.port
broker.scheme dcache.broker.scheme
cell.nameSsh2 admin.cell.name
checkRepository pool.enable.repository-check
cleaner.hsm cleaner.enable.hsm
cleaner.hsm.max-files-in-message cleaner.limits.hsm-batch-size
cleaner.hsm.pool-reply-timeout cleaner.service.pool.hsm-timeout
cleaner.max-files-in-message cleaner.limits.batch-size
cleaner.period cleaner.limits.period
cleaner.pool-reply-timeout cleaner.service.pool.timeout
cleaner.pool-retry cleaner.service.pool.retry-period
cleaner.report-cell cleaner.destination.remove-notification
cleaner.thread-pool.size cleaner.limits.threads
clientDataPortRange ftp.net.port-range
dCapAuthPort dcap.net.port.auth
dCapGsiPort dcap.net.port.gsi
dCapKerberosPort dcap.net.port.kerberos
dCapPort dcap.net.port.plain
dcache.paths.ssh-keys dcache.paths.admin
dcache.security.ciphers dcache.authn.ciphers
dcapAnonymousAccessLevel dcap.authz.anonymous-operations
dcapIoQueue dcap.mover.queue
dcapIoQueueOverwrite dcap.authz.mover-queue-overwrite
dcapMaxLogin dcap.limits.clients
dcapPasswdFile dcap.authn.passwd
dcapReadOnly dcap.authz.readonly
domain.preload dcache.domain.preload
domain.service.dir dcache.domain.service.dir
domain.service.uri dcache.domain.service.uri
domain.service.uri.base dcache.domain.service.uri.base
flushMessageTarget pool.destination.flush-notification
ftpPort ftp.net.port.plain
gPlazmaNumberOfSimultaneousRequests gplazma.cell.limits.threads
generatePlots httpd.enable.plots.billing
gplazma dcache.service.gplazma
grid.ca.path dcache.authn.capath
grid.ca.refresh dcache.authn.capath.refresh
grid.hostcert.cert dcache.authn.hostcert.cert
grid.hostcert.key dcache.authn.hostcert.key
grid.hostcert.refresh dcache.authn.hostcert.refresh
grid.hostcert.verify dcache.authn.hostcert.verify
grid.path dcache.paths.grid-security
gridftp.security.ciphers ftp.authn.ciphers
gsi.crl.cache.lifetime dcache.authn.gsi.crl.cache.lifetime
gsi.delegation.cache.lifetime dcache.authn.gsi.delegation.cache.lifetime
gsiFtpPortNumber ftp.net.port.gsi
gsidcap.security.ciphers dcap.authn.ciphers
gsidcapIoQueue dcap.mover.queue
gsidcapIoQueueOverwrite dcap.authz.mover-queue-overwrite
gsidcapMaxLogin dcap.limits.clients
gsiftpAdapterInternalInterface ftp.net.internal
gsiftpAllowMmap pool.mover.ftp.mmap
gsiftpDeleteOnConnectionClosed ftp.enable.delete-on-failure
gsiftpIoQueue ftp.mover.queue
gsiftpMaxLogin ftp.limits.clients
gsiftpMaxRetries ftp.limits.retries
gsiftpMaxStreamsPerClient ftp.limits.streams-per-client
gsiftpPnfsTimeout ftp.service.pnfsmanager.timeout
gsiftpPoolManager ftp.service.poolmanager
gsiftpPoolManagerTimeout ftp.service.poolmanager.timeout
gsiftpPoolTimeout ftp.service.pool.timeout
gsiftpReadAhead pool.mover.ftp.read-ahead
hostKeyFile ssh1.paths.host-key
hsmStorageInfoExtractor pnfsmanager.plugins.storage-info-extractor
httpMoverChunkSize pool.mover.http.chunk-size
httpMoverClientIdleTimeout pool.mover.http.timeout.idle
httpMoverConnectTimeout pool.mover.http.timeout.connect
httpMoverConnectionMaxMemory pool.mover.http.memory-per-connection
httpMoverDiskThreads pool.mover.http.disk-threads
httpMoverMaxMemory pool.mover.http.memory
httpMoverSocketThreads pool.mover.http.socket-threads
httpd.security.ciphers httpd.authn.ciphers
httpdDefaultWebapp httpd.container.default-webapp
httpdMaxIdleTimeInMs httpd.limits.idle-time
httpdMaxThreads httpd.limits.threads
httpdPort httpd.net.port
httpsPort httpd.net.https-port
kerberos.jaas.config dcache.authn.jaas.config
kerberos.key-distribution-center-list dcache.authn.kerberos.key-distribution-center-list
kerberos.realm dcache.authn.kerberos.realm
kerberosFtpPort ftp.net.port.kerberos
kerberosdcapIoQueue dcap.mover.queue
kerberosdcapIoQueueOverwrite dcap.authz.mover-queue-overwrite
kerberosdcapMaxLogin dcap.limits.clients
keyStore dcache.authn.keystore
keyStorePassword dcache.authn.keystore.password
knownUsersFile ssh1.paths.known-users
kpwdFile gplazma.kpwd.file
lfs pool.lfs
listen dcache.net.listen
localSrmHosts srm.net.local-hosts
loginBroker dcache.service.loginbroker
loginBrokerUpdateThreshold dcache.service.loginbroker.update-threshold
loginBrokerUpdateTime dcache.service.loginbroker.update-period
maxDiskSpace pool.size
metaDataRepository pool.plugins.meta
missing-files.enabled dcache.enable.missing-files
missing-files.name dcache.service.missing-files
missing-files.plugin.list missing-files.plugins
missing-files.thread-count missing-files.limits.threads
missing-files.timeout dcache.service.missing-files.timeout
missing-files.timeout.unit dcache.service.missing-files.timeout.unit
name pool.name
net.inetaddr.lifetime dcache.net.inetaddr.lifetime
net.lan.port.max dcache.net.lan.port.max
net.lan.port.min dcache.net.lan.port.min
net.wan.port.max dcache.net.wan.port.max
net.wan.port.min dcache.net.wan.port.min
nfs.gplazma.timeout nfs.service.gplazma.timeout
nfs.pool.timeout nfs.service.pool.timeout
nfs.port nfs.net.port
nfs.published.name nfs.service.loginbroker.family
nfsIoQueue nfs.mover.queue
overwriteEnabled dcache.enable.overwrite
parallelStreams srm.limits.parallel-streams
path pool.path
performanceMarkerPeriod ftp.performance-marker-period
pinManagerDbHost pinmanager.db.host
pinManagerDbName pinmanager.db.name
pinManagerDbPassword pinmanager.db.password
pinManagerDbUser pinmanager.db.user
pinManagerMaxActiveJdbcConnections pinmanager.db.connections.max-per-partition
pinManagerMaxPinDuration pinmanager.limits.pin-duration
pinManagerPasswordFile pinmanager.db.password.file
pnfsFolding pnfsmanager.enable.folding
pnfsInheritFileOwnership pnfsmanager.enable.inherit-file-ownership
pnfsListChunkSize pnfsmanager.limits.list-chunk-size
pnfsLogSlowThreshold pnfsmanager.limits.log-slow-threshold
pnfsNumberOfListThreads pnfsmanager.limits.list-threads
pnfsNumberOfThreadGroups pnfsmanager.limits.thread-groups
pnfsNumberOfThreads pnfsmanager.limits.threads-per-group
pnfsQueueMaxSize pnfsmanager.limits.queue-length
pnfsSrmPath srm.root
pnfsVerifyAllLookups pnfsmanager.enable.full-path-permission-check
pnfsmanager dcache.service.pnfsmanager
pool.dcap.port pool.mover.dcap.port
poolIoQueue pool.queues
poolStatusRelay poolmanager.service.broadcast
poolmanager dcache.service.poolmanager
poolmanager.cache-hit-messages.enabled poolmanager.enable.cache-hit-message
poolqplots.enabled httpd.enable.plots.pool-queue
poolqplots.refresh-interval httpd.plots.pool-queue.refresh
poolqplots.refresh-interval-unit httpd.plots.pool-queue.refresh.unit
poolqplots.rrdb.db.version httpd.pool-queue.db.version
poolqplots.rrdb.image-type httpd.plots.pool-queue.type
poolqplots.rrdb.plot.heartbeat-factor httpd.pool-queue.db.heartbeat-factor
poolqplots.rrdb.plot.height httpd.plots.pool-queue.height
poolqplots.rrdb.plot.label-span httpd.plots.pool-queue.label-span
poolqplots.rrdb.plot.label-unit httpd.plots.pool-queue.label.unit
poolqplots.rrdb.plot.label-unit-count httpd.plots.pool-queue.x-label.spacing
poolqplots.rrdb.plot.major-unit httpd.plots.pool-queue.major.unit
poolqplots.rrdb.plot.major-unit-count httpd.plots.pool-queue.grid.spacing.major
poolqplots.rrdb.plot.minor-unit httpd.plots.pool-queue.minor.unit
poolqplots.rrdb.plot.minor-unit-count httpd.plots.pool-queue.grid.spacing.minor
poolqplots.rrdb.plot.right-margin httpd.plots.pool-queue.right-margin
poolqplots.rrdb.plot.span-size httpd.plots.pool-queue.x-span
poolqplots.rrdb.plot.span-unit httpd.plots.pool-queue.x-span.unit
poolqplots.rrdb.plot.step-size httpd.plots.pool-queue.min-time-step
poolqplots.rrdb.plot.step-unit httpd.plots.pool-queue.min-time-step.unit
poolqplots.rrdb.plot.width httpd.plots.pool-queue.width
poolqplots.rrdb.plot.x-label-format httpd.plots.pool-queue.x-label.format
poolqplots.rrdb.plot.y-label httpd.plots.pool-queue.y-label
poolupDestination pool.destination.heartbeat
qosConfigFile srm.plugins.qos.config.file
qosPluginClass srm.plugins.qos.class
quotaManager poolmanager.plugins.quota-manager
remoteCopyMaxTransfers transfermanagers.limits.internal-transfers
remoteGsiftpIoQueue transfermanagers.mover.queue
remoteGsiftpMaxTransfers transfermanagers.limits.external-transfers
replicaAdjustStartTimeout replica.limits.adjust-start-timeout
replicaCheckPoolHost replica.enable.check-pool-host
replicaDbJdbcDriver replica.db.driver
replicaDbName replica.db.name
replicaDbPassword replica.db.password
replicaDbUser replica.db.user
replicaDelayDBStartTimeout replica.limits.delay-db-start-timeout
replicaEnableSameHostReplica replica.enable.same-host-replica
replicaExcludedFilesExpirationTimeout replica.limits.excluded-files-expiration-timeout
replicaManager dcache.enable.replica
replicaManagerDatabaseHost replica.db.host
replicaMax replica.limits.replicas.max
replicaMaxWorkers replica.limits.workers
replicaMin replica.limits.replicas.min
replicaPasswordFile replica.db.password.file
replicaPoolWatchDogPeriod replica.limits.pool-watchdog-period
replicaWaitDBUpdateTimeout replica.limits.wait-db-update-timeout
replicaWaitReduceTimeout replica.limits.wait-reduce-timeout
replicaWaitReplicateTimeout replica.limits.wait-replicate-timeout
replicateOnArrival pool.destination.replicate
resilientGroupName replica.poolgroup
selectionUnit poolmanager.plugins.selection-unit
serverKeyFile ssh1.paths.server-key
spacemanager dcache.service.spacemanager
srm.loginbroker srm.service.loginbroker
srm.loginbroker.family srm.service.loginbroker.family
srm.loginbroker.period srm.service.loginbroker.update-period
srm.loginbroker.threshold srm.service.loginbroker.update-threshold
srm.loginbroker.version srm.service.loginbroker.version
srm.lookup.loginbroker srm.protocols.loginbroker
srm.lookup.period srm.protocols.loginbroker.period
srm.lookup.population-size srm.protocols.population-size
srm.lookup.timeout srm.protocols.loginbroker.timeout
srm.security.ciphers srm.authn.ciphers
srm.ssl.port srm.net.ssl-port
srmAuthzCacheLifetime srm.service.gplazma.cache.timeout
srmBringOnlineCleanPendingRequestsOnRestart srm.persistence.bring-online.enable.clean-pending-on-restart
srmBringOnlineDatabaseEnabled srm.persistence.bring-online.enable
srmBringOnlineExpiredRequestRemovalPeriod srm.persistence.bring-online.remove-expired-period
srmBringOnlineKeepRequestHistoryPeriod srm.persistence.bring-online.keep-history-period
srmBringOnlineLifeTime srm.request.bring-online.lifetime
srmBringOnlineReqMaxNumOfRunningBySameOwner srm.request.bring-online.max-by-same-user
srmBringOnlineReqMaxNumberOfRetries srm.request.bring-online.retries
srmBringOnlineReqMaxReadyRequests srm.request.bring-online.max-ready-requests
srmBringOnlineReqMaxWaitingRequests srm.request.bring-online.max-waiting-requests
srmBringOnlineReqReadyQueueSize srm.request.bring-online.ready-queue-size
srmBringOnlineReqRetryTimeout srm.request.bring-online.retry-timeout
srmBringOnlineReqSwitchToAsynchronousModeDelay srm.request.bring-online.switch-to-async-mode-delay
srmBringOnlineReqThreadPoolSize srm.request.bring-online.threads
srmBringOnlineReqThreadQueueSize srm.request.bring-online.thread-queue-size
srmBringOnlineRequestHistoryDatabaseEnabled srm.persistence.bring-online.enable.history
srmBringOnlineStoreCompletedRequestsOnly srm.persistence.bring-online.enable.store-transient-state
srmBufferSize srm.limits.transfer-buffer.size
srmCleanPendingRequestsOnRestart srm.persistence.enable.clean-pending-on-restart
srmClientDNSLookup srm.enable.client-dns-lookup
srmClientTransport srm.client-transport
srmCopyCleanPendingRequestsOnRestart srm.persistence.copy.enable.clean-pending-on-restart
srmCopyDatabaseEnabled srm.persistence.copy.enable
srmCopyExpiredRequestRemovalPeriod srm.persistence.copy.remove-expired-period
srmCopyKeepRequestHistoryPeriod srm.persistence.copy.keep-history-period
srmCopyLifeTime srm.request.copy.lifetime
srmCopyReqMaxNumOfRunningBySameOwner srm.request.copy.max-by-same-user
srmCopyReqMaxNumberOfRetries srm.request.copy.retries
srmCopyReqMaxWaitingRequests srm.request.copy.max-waiting-requests
srmCopyReqRetryTimeout srm.request.copy.retry-timeout
srmCopyReqThreadPoolSize srm.request.copy.threads
srmCopyReqThreadQueueSize srm.request.copy.thread-queue-size
srmCopyRequestHistoryDatabaseEnabled srm.persistence.copy.enable.history
srmCopyStoreCompletedRequestsOnly srm.persistence.copy.enable.store-transient-state
srmCustomGetHostByAddr srm.enable.custom-get-host-by-address
srmDatabaseEnabled srm.persistence.enable
srmDatabaseHost pinmanager.db.host
srm.db.host
spacemanager.db.host
transfermanagers.db.host
srmDbLogEnabled transfermanagers.enable.log-to-database
srmDbName pinmanager.db.name
srm.db.name
spacemanager.db.name
transfermanagers.db.name
srmDbPassword pinmanager.db.password
srm.db.password
spacemanager.db.password
transfermanagers.db.password
srmDbUser pinmanager.db.user
srm.db.user
spacemanager.db.user
transfermanagers.db.user
srmDebug srm.enable.external-copy-script.debug
srmExpiredRequestRemovalPeriod srm.persistence.remove-expired-period
srmGetCleanPendingRequestsOnRestart srm.persistence.get.enable.clean-pending-on-restart
srmGetDatabaseEnabled srm.persistence.get.enable
srmGetExpiredRequestRemovalPeriod srm.persistence.get.remove-expired-period
srmGetKeepRequestHistoryPeriod srm.persistence.get.keep-history-period
srmGetLifeTime srm.request.get.lifetime
srmGetReqMaxNumOfRunningBySameOwner srm.request.get.max-by-same-user
srmGetReqMaxNumberOfRetries srm.request.get.retries
srmGetReqMaxReadyRequests srm.request.get.max-ready-requests
srmGetReqMaxWaitingRequests srm.request.get.max-waiting-requests
srmGetReqReadyQueueSize srm.request.get.ready-queue-size
srmGetReqRetryTimeout srm.request.get.retry-timeout
srmGetReqSwitchToAsynchronousModeDelay srm.request.get.switch-to-async-mode-delay
srmGetReqThreadPoolSize srm.request.get.threads
srmGetReqThreadQueueSize srm.request.get.thread-queue-size
srmGetRequestHistoryDatabaseEnabled srm.persistence.get.enable.history
srmGetStoreCompletedRequestsOnly srm.persistence.get.enable.store-transient-state
srmGracefulShutdown srm.limits.jetty.graceful-shutdown
srmHost srm.net.host
srmImplicitSpaceManagerEnabled srm.enable.space-reservation.implicit
srmJdbcExecutionThreadNum srm.limits.db.threads
srmJettyConnectorAcceptors srm.limits.jetty-connector.acceptors
srmJettyConnectorBackLog srm.limits.jetty-connector.backlog
srmJettyConnectorLowResourceMaxIdleTime srm.limits.jetty-connector.low-resource.max.idle-time
srmJettyConnectorMaxIdleTime srm.limits.jetty-connector.idle-time.max
srmJettyThreadsMax srm.limits.jetty.threads.max
srmJettyThreadsMaxIdleTime srm.limits.jetty.threads.idle-time.max
srmJettyThreadsMaxQueued srm.limits.jetty.threads.queued.max
srmJettyThreadsMin srm.limits.jetty.threads.min
srmKeepRequestHistoryPeriod srm.persistence.keep-history-period
srmLoginBrokerUpdatePeriod srm.protocols.loginbroker.period
srmLsCleanPendingRequestsOnRestart srm.persistence.ls.enable.clean-pending-on-restart
srmLsDatabaseEnabled srm.persistence.ls.enable
srmLsExpiredRequestRemovalPeriod srm.persistence.ls.remove-expired-period
srmLsKeepRequestHistoryPeriod srm.persistence.ls.keep-history-period
srmLsMaxNumberOfEntries srm.limits.ls.entries
srmLsMaxNumberOfLevels srm.limits.ls.levels
srmLsRequestHistoryDatabaseEnabled srm.persistence.ls.enable.history
srmLsRequestMaxNumberOfRetries srm.request.ls.retries
srmLsRequestMaxNumberOfRunningBySameOwner srm.request.ls.max-by-same-user
srmLsRequestMaxWaitingRequests srm.request.ls.max-waiting-requests
srmLsRequestRetryTimeout srm.request.ls.retry-timeout
srmLsRequestSwitchToAsynchronousModeDelay srm.request.ls.switch-to-async-mode-delay
srmLsRequestThreadPoolSize srm.request.ls.threads
srmLsRequestThreadQueueSize srm.request.ls.thread-queue-size
srmLsStoreCompletedRequestsOnly srm.persistence.ls.enable.store-transient-state
srmMaxNumberOfJdbcTasksInQueue srm.limits.db.queue
srmMoverTimeout transfermanagers.limits.transfer-time
srmNumberOfDoorsInRandomSelection srm.protocols.population-size
srmOverwriteByDefault srm.enable.overwrite-by-default
srmPasswordFile pinmanager.db.password.file
srm.db.password.file
transfermanagers.db.password.file
srmPinOnlineFiles srm.enable.pin-online-files
srmPnfsTimeout srm.protocols.loginbroker.timeout
srm.service.pnfsmanager.timeout
transfermanagers.service.pnfsmanager.timeout
srmPoolManagerTimeout srm.service.poolmanager.timeout
transfermanagers.service.poolmanager.timeout
srmPoolTimeout transfermanagers.service.pool.timeout
srmPort srm.net.port
srmPutCleanPendingRequestsOnRestart srm.persistence.put.enable.clean-pending-on-restart
srmPutDatabaseEnabled srm.persistence.put.enable
srmPutExpiredRequestRemovalPeriod srm.persistence.put.remove-expired-period
srmPutKeepRequestHistoryPeriod srm.persistence.put.keep-history-period
srmPutLifeTime srm.request.put.lifetime
srmPutReqMaxNumOfRunningBySameOwner srm.request.put.max-by-same-user
srmPutReqMaxNumberOfRetries srm.request.put.retries
srmPutReqMaxReadyRequests srm.request.put.max-ready-requests
srmPutReqMaxWaitingRequests srm.request.put.max-waiting-requests
srmPutReqReadyQueueSize srm.request.put.ready-queue-size
srmPutReqRetryTimeout srm.request.put.retry-timeout
srmPutReqSwitchToAsynchronousModeDelay srm.request.put.switch-to-async-mode-delay
srmPutReqThreadPoolSize srm.request.put.threads
srmPutReqThreadQueueSize srm.request.put.thread-queue-size
srmPutRequestHistoryDatabaseEnabled srm.persistence.put.enable.history
srmPutStoreCompletedRequestsOnly srm.persistence.put.enable.store-transient-state
srmRequestHistoryDatabaseEnabled srm.persistence.enable.history
srmReserveCleanPendingRequestsOnRestart srm.persistence.reserve-space.enable.clean-pending-on-restart
srmReserveDatabaseEnabled srm.persistence.reserve-space.enable
srmReserveExpiredRequestRemovalPeriod srm.persistence.reserve-space.remove-expired-period
srmReserveKeepRequestHistoryPeriod srm.persistence.reserve-space.keep-history-period
srmReserveReqMaxNumOfRunningBySameOwner srm.request.reserve-space.max-by-same-user
srmReserveReqMaxNumberOfRetries srm.request.reserve-space.retries
srmReserveReqMaxReadyRequests srm.request.reserve-space.max-ready-requests
srmReserveReqMaxWaitingRequests srm.request.reserve-space.max-waiting-requests
srmReserveReqReadyQueueSize srm.request.reserve-space.ready-queue-size
srmReserveReqRetryTimeout srm.request.reserve-space.retry-timeout
srmReserveReqThreadPoolSize srm.request.reserve-space.threads
srmReserveReqThreadQueueSize srm.request.reserve-space.thread-queue-size
srmReserveRequestHistoryDatabaseEnabled srm.persistence.reserve-space.enable.history
srmReserveSpaceStoreCompletedRequestsOnly srm.persistence.reserve-space.enable.store-transient-state
srmReserveStoreCompletedRequestsOnly srm.request.reserve-space.enable.store-complete-only
srmSizeOfSingleRemoveBatch srm.limits.remove-batch-size
srmSpaceManagerEnabled dcache.enable.space-reservation
srmSpaceReservationStrict srm.enable.space-reservation.strict
srmStoreCompletedRequestsOnly srm.persistence.enable.store-transient-state
srmTcpBufferSize srm.limits.transfer-tcp-buffer.size
srmTimeout srm.limits.external-copy-script.timeout
srmUserCredentialsDirectory srm.user.credentials.directory
stageConfigurationFilePath dcache.authz.staging
stagePolicyEnforcementPoint dcache.authz.staging.pep
statisticsLocation httpd.statistics.location
statistics.location
sweeper pool.plugins.sweeper
tags pool.tags
threadPool poolmanager.plugins.thread-pool
topoTimeout topo.service.system.timeout
topoWaitTime topo.limits.refresh-period
truncate dcap.authz.truncate
trustStore dcache.authn.truststore
trustStorePassword dcache.authn.truststore.password
updateBillingDb billing.db.schema.auto
userPasswordFile ssh1.paths.user-password
waitForFiles pool.wait-for-files
webadmin.alarm.cleaner.delete-threshold httpd.alarm-cleaner.delete-entries-before
webadmin.alarm.cleaner.enabled httpd.enable.alarm-cleaner
webadmin.alarm.cleaner.timeout httpd.alarm-cleaner.timeout
webadmin.alarm.dao.properties httpd.alarms.db.config.path
webadmin.billing-plot.default-scale httpd.plots.billing.scale
webadmin.billing-plot.default-style httpd.plots.billing.style
webadmin.billing-plot.height httpd.plots.billing.height
webadmin.billing-plot.refresh-threshold httpd.plots.billing.refresh
webadmin.billing-plot.width httpd.plots.billing.width
webadminAdminGid httpd.authz.admin-gid
webadminDCacheInstanceName httpd.html.dcache-instance-name
webadminWarunpackdir httpd.container.webapps.tmp-dir
webadminWebappsPath httpd.container.webapps.dir
webdav.overwrite webdav.enable.overwrite
webdav.security.ciphers webdav.authn.ciphers
webdavAddress webdav.net.listen
webdavAllowedPaths webdav.authz.allowed-paths
webdavAnonymousAccess webdav.authz.anonymous-operations
webdavAnonymousListing webdav.authz.anonymous-listing
webdavBasicAuthentication webdav.authn.basic
webdavGplazmaTimeout webdav.service.gplazma.timeout
webdavInternalAddress webdav.net.internal
webdavIoQueue webdav.mover.queue
webdavKeyStore webdav.authn.keystore
webdavKeyStorePassword webdav.authn.keystore.password
webdavKillTimeout webdav.mover.kill-timeout
webdavMoverTimeout webdav.mover.timeout
webdavNeedClientAuth webdav.authn.require-client-cert
webdavPnfsTimeout webdav.service.pnfsmanager.timeout
webdavPoolTimeout webdav.service.pool.timeout
webdavPort webdav.net.port
webdavProtocol webdav.authn.protocol
webdavReadOnly webdav.authz.readonly
webdavRootPath webdav.root
webdavTransferConfirmationTimeout webdav.mover.transfer-confirmation-timeout
webdavTrustStore webdav.authn.truststore
webdavTrustStorePassword webdav.authn.truststore.password
webdavWantClientAuth webdav.authn.accept-client-cert
xrootd.mover.timeout.idle pool.mover.xrootd.timeout.idle
xrootdAllowedReadPaths xrootd.authz.read-paths
xrootdAllowedWritePaths xrootd.authz.write-paths
xrootdBacklog xrootd.net.backlog
xrootdIoQueue xrootd.mover.queue
xrootdMaxChannelMemorySize xrootd.max-channel-memory-size
xrootdMaxTotalMemorySize xrootd.max-total-memory-size
xrootdMoverDiskThreads pool.mover.xrootd.disk-threads
xrootdMoverMaxFrameSize pool.mover.xrootd.frame-size
xrootdMoverMaxMemory pool.mover.xrootd.memory
xrootdMoverMaxMemoryPerConnection pool.mover.xrootd.memory-per-connection
xrootdMoverSocketThreads pool.mover.xrootd.socket-threads
xrootdMoverTimeout xrootd.mover.timeout
xrootdPoolTimeout xrootd.service.pool.timeout
xrootdPort xrootd.net.port
xrootdRootPath xrootd.root
xrootdThreads xrootd.limits.threads
xrootdUser xrootd.authz.user

New or changed properties

Property New value Old value
admin.cell.name admin
admin.service.gplazma.timeout 30000
admin.service.gplazma.timeout.unit MILLISECONDS
admin.ssh.idle-timeout infinity
admin.ssh.idle-timeout.unit MINUTES
alarms.cell.name alarms
alarms.log.root-level warn off
billing.cell.name billing
billing.db.connections.max-per-partition 30
billing.db.connections.min-per-partition 3
billing.db.inserts.timeout-before-commit.unit SECONDS
billing.db.inserts.queue-delegate.type org.dcache.services.billing.db.impl.DirectQueueDelegate
billing.db.inserts.max-queue-size 100000
billing.db.inserts.max-batch-size 1000
billing.db.inserts.drop-messages-at-limit true
billing.db.name billing
billing.db.url jdbc:postgresql://localhost/ jdbc:postgresql://localhost/billing
billing.enable.db false no
billing.service.poolmanager.timeout 3600
billing.service.poolmanager.timeout.unit SECONDS
billing.text.flat-dir false
broadcast.cell.name broadcast
broadcast.enable.replica false no
broadcast.enable.space-reservation false no
broadcast.service.pinmanager PinManager
broadcast.service.replica replicaManager
cleaner.cell.export true
cleaner.cell.name cleaner
cleaner.enable.hsm false disabled
cleaner.limits.period.unit SECONDS
cleaner.service.broadcast broadcast
cleaner.service.pool.hsm-timeout.unit SECONDS
cleaner.service.pool.retry-period.unit SECONDS
cleaner.service.pool.timeout.unit SECONDS
cns.broker.openmq.reconnect-interval.unit MILLISECONDS
cns.cell.name cns
dcache.authn.capath.refresh.unit SECONDS
dcache.authn.hostcert.refresh.unit SECONDS
dcache.authn.vomsdir /etc/grid-security/vomsdir
dcache.broker.openmq.reconnect-interval.unit MILLISECONDS
dcache.enable.overwrite true false
dcache.enable.replica false no
dcache.enable.space-reservation false no
dcache.java.options -server -Xmx512m -XX:MaxDirectMemorySize=512m -Dsun.net.inetaddr.ttl=1800 -Dorg.globus.tcp.port.range=20000,25000 -Djava.net.preferIPv4Stack=true -Dorg.dcache.dcap.port=0 -Dorg.dcache.net.tcp.portrange=33115:33145 -Dorg.globus.jglobus.delegation.cache.lifetime=30000 -Dorg.globus.jglobus.crl.cache.lifetime=60000 -Djava.security.krb5.realm=EXAMPLE.ORG -Djava.security.krb5.kdc=localhost -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=/etc/dcache/jgss.conf -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/dcache/${dcache.domain.name}-oom.hprof -javaagent:/usr/share/dcache/classes/spring-instrument–3.2.3.RELEASE.jar -Djava.awt.headless=true -DwantLog4jSetup=n -server -Xmx512m -XX:MaxDirectMemorySize=512m -Dsun.net.inetaddr.ttl=1800 -Dorg.globus.tcp.port.range=20000,25000 -Djava.net.preferIPv4Stack=true -Dorg.dcache.dcap.port=0 -Dorg.dcache.net.tcp.portrange=33115:33145 -Dorg.globus.jglobus.delegation.cache.lifetime=30000 -Dorg.globus.jglobus.crl.cache.lifetime=60000 -Djava.security.krb5.realm=EXAMPLE.ORG -Djava.security.krb5.kdc=localhost -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=/etc/dcache/jgss.conf -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/dcache/${dcache.domain.name}-oom.hprof -javaagent:/usr/share/dcache/classes/spring-instrument–3.2.2.RELEASE.jar -Djava.awt.headless=true -DwantLog4jSetup=n
dcache.paths.unpack /var/tmp
dcache.service.broadcast broadcast
dcache.service.copymanager CopyManager
dcache.service.loginbroker.update-period.unit SECONDS
dcache.service.missing-files.timeout.unit MILLISECONDS
dcache.service.pinmanager PinManager
dcache.service.poolmanager.timeout 3600
dcache.service.poolmanager.timeout.unit SECONDS
dcache.service.replica replicaManager
dcache.service.transfermanager RemoteTransferManager
dcap.authn.kerberos.service-principle-name host/${host.name}@EXAMPLE.ORG
dcap.authn.passwd /etc/dcache/passwd4dCapDoor /opt/d-cache/etc/passwd4dCapDoor
dcap.authn.protocol plain
dcap.authn.vomsdir /etc/grid-security/vomsdir
dcap.authz.anonymous-operations NONE READONLY
dcap.authz.mover-queue-overwrite false denied
dcap.cell.name DCap-${host.name}
dcap.cell.name.auth DCap-auth-${host.name}
dcap.cell.name.gsi DCap-gsi-${host.name}
dcap.cell.name.kerberos DCap-Kerberos-${host.name}
dcap.cell.name.plain DCap-${host.name}
dcap.enable.space-reservation false no
dcap.net.port 22125
dcap.service.loginbroker.family dcap
dcap.service.loginbroker.update-period.unit SECONDS
dcap.service.loginbroker.version 1.3.0
dcap.service.pinmanager PinManager
dcap.service.poolmanager PoolManager
dir.cell.name dirLookupPool
ftp.authn.kerberos.service-principle-name ftp/${host.name}@EXAMPLE.ORG
ftp.authn.protocol plain
ftp.authz.readonly ftp.authz.readonly.plain
ftp.authz.readonly.gsi false
ftp.authz.readonly.kerberos false
ftp.authz.readonly.plain true
ftp.cell.name FTP-${host.name}
ftp.cell.name.gsi GFTP-${host.name}
ftp.cell.name.kerberos KFTP-${host.name}
ftp.cell.name.plain FTP-${host.name}
ftp.enable.overwrite true false
ftp.enable.space-reservation false no
ftp.net.port 22126
ftp.performance-marker-period.unit SECONDS
ftp.service.loginbroker.family ftp
ftp.service.loginbroker.family.gsi gsiftp
ftp.service.loginbroker.family.kerberos gkftp
ftp.service.loginbroker.family.plain ftp
ftp.service.loginbroker.update-period.unit SECONDS
ftp.service.loginbroker.version 1.0.0
ftp.service.loginbroker.version.gsi 1.0.0
ftp.service.loginbroker.version.kerberos 1.0.0
ftp.service.loginbroker.version.plain 1.0.0
ftp.service.pnfsmanager.timeout.unit SECONDS
ftp.service.pool.timeout.unit SECONDS
ftp.service.poolmanager PoolManager
ftp.service.poolmanager.timeout 3600 5400
ftp.service.poolmanager.timeout.unit SECONDS
gplazma.cell.export true
gplazma.cell.name gPlazma
gplazma.htpasswd.file /etc/dcache/htpasswd
gplazma.htpasswd.file.cache-period 1
gplazma.htpasswd.file.cache-period.unit SECONDS
gplazma.ldap.server ldap.example.org ldap.example.com
gplazma.nis.domain example.org domain.com
gplazma.nis.server nisserv.example.org nisserv.domain.com
hoppingmanager.cell.export true
hoppingmanager.cell.name HoppingManager
hoppingmanager.config /var/lib/dcache/config/HoppingManager.conf
httpd.alarm-cleaner.delete-entries-before.unit HOURS
httpd.alarm-cleaner.timeout.unit HOURS
httpd.authz.admin-gid 0 1000
httpd.cell.name httpd
httpd.enable.space-reservation false no
httpd.limits.idle-time.unit MILLISECONDS
httpd.plots.billing.height 800
httpd.plots.billing.refresh 5
httpd.plots.billing.refresh.unit MINUTES
httpd.plots.billing.scale log
httpd.plots.billing.style CONNECTED
httpd.plots.billing.width 1200
httpd.service.activetransfers-collector.period 60000
httpd.service.activetransfers-collector.period.unit MILLISECONDS
httpd.service.activetransfers-collector.timeout 5000
httpd.service.activetransfers-collector.timeout.unit MILLISECONDS
httpd.service.billing.timeout 60000
httpd.service.billing.timeout.unit MILLISECONDS
httpd.service.cellstatus-collector.period 10000
httpd.service.cellstatus-collector.period.unit MILLISECONDS
httpd.service.cellstatus-collector.timeout 5000
httpd.service.cellstatus-collector.timeout.unit MILLISECONDS
httpd.service.pool.timeout 4000
httpd.service.pool.timeout.unit MILLISECONDS
httpd.service.poolmonitor-collector.period 4000
httpd.service.poolmonitor-collector.period.unit MILLISECONDS
httpd.service.poolmonitor-collector.timeout 4000
httpd.service.poolmonitor-collector.timeout.unit MILLISECONDS
httpd.service.restorehandler-collector.period 10000
httpd.service.restorehandler-collector.period.unit MILLISECONDS
httpd.service.restorehandler-collector.timeout 5000
httpd.service.restorehandler-collector.timeout.unit MILLISECONDS
httpd.service.spacetoken-collector.period 10000
httpd.service.spacetoken-collector.period.unit MILLISECONDS
httpd.service.spacetoken-collector.timeout 5000
httpd.service.spacetoken-collector.timeout.unit MILLISECONDS
info.cell.export true
info.cell.name info
info.net.backlog 5
info.net.listen 127.0.0.1
info.net.port 22112
loginbroker.cell.export true
loginbroker.cell.name LoginBroker
missing-files.cell.export true
missing-files.cell.name MissingFiles
missing-files.plugins.semsg.broker.endpoint tcp://semsg-broker.example.org:6166?wireFormat=openwire tcp://dev.msg.cern.ch:6166?wireFormat=openwire
missing-files.plugins.semsg.broker.host semsg-broker.example.org dev.msg.cern.ch
nfs.cell.name NFS-${host.name}
nfs.enable.portmap true
nfs.service.gplazma.timeout 3000
nfs.service.gplazma.timeout.unit MILLISECONDS
nfs.service.loginbroker.update-period.unit SECONDS
nfs.service.loginbroker.version nfs4.1
nfs.service.pool.timeout 10000
nfs.service.pool.timeout.unit MILLISECONDS
nfs.service.poolmanager.timeout 3600
nfs.service.poolmanager.timeout.unit SECONDS
nfs.version 3
pinmanager.cell.name PinManager
pinmanager.cell.queue.max 1000
pinmanager.cell.threads.max 200
pinmanager.cell.threads.max-idle-time 60
pinmanager.cell.threads.max-idle-time.unit SECONDS
pinmanager.cell.threads.min 20
pinmanager.db.connections.min-per-partition 2
pinmanager.db.driver org.postgresql.Driver
pinmanager.db.schema.changelog org/dcache/pinmanager/model/db.changelog-master.xml
pinmanager.db.url jdbc:postgresql://localhost/dcache
pinmanager.expiration-period 60
pinmanager.expiration-period.unit SECONDS
pinmanager.limits.pin-duration.unit SECONDS
pinmanager.service.pnfsmanager.timeout 300
pinmanager.service.pnfsmanager.timeout.unit SECONDS
pinmanager.service.pool.timeout 90
pinmanager.service.pool.timeout.unit SECONDS
pinmanager.service.poolmanager.timeout 3600
pinmanager.service.poolmanager.timeout.unit SECONDS
pnfsmanager.atime-gap –1
pnfsmanager.cell.name PnfsManager
pnfsmanager.db.connections.max-per-partition 30
pnfsmanager.db.connections.min-per-partition 10
pnfsmanager.db.connections.partition-count 3
pnfsmanager.enable.folding true false
pnfsmanager.enable.full-path-permission-check true false
pool.cell.limits.callback.queue.max 1000
pool.cell.limits.callback.threads.max 50
pool.cell.limits.callback.threads.max-idle-time 60
pool.cell.limits.callback.threads.max-idle-time.unit SECONDS
pool.cell.limits.callback.threads.min 5
pool.cell.limits.message.queue.max 1000
pool.cell.limits.message.threads.max 50
pool.cell.limits.message.threads.max-idle-time 60
pool.cell.limits.message.threads.max-idle-time.unit SECONDS
pool.cell.limits.message.threads.min 5
pool.destination.replicate off
pool.limits.worker-threads 5
pool.mover.ftp.allow-incoming-connections true
pool.mover.http.timeout.connect.unit SECONDS
pool.mover.http.timeout.idle.unit SECONDS
pool.mover.nfs.rpcsec_gss false
pool.mover.xrootd.timeout.idle 300000
pool.mover.xrootd.timeout.idle.unit MILLISECONDS
pool.service.pinmanager PinManager
pool.service.pinmanager.timeout 120
pool.service.pinmanager.timeout.unit SECONDS
pool.service.pnfsmanager.timeout 300
pool.service.pnfsmanager.timeout.unit SECONDS
pool.service.pool.timeout 60
pool.service.pool.timeout.unit SECONDS
pool.service.poolmanager.timeout 3600
pool.service.poolmanager.timeout.unit SECONDS
poolmanager.cell.name PoolManager
poolmanager.service.pool.timeout 10000
poolmanager.service.pool.timeout.unit MILLISECONDS
replica.cell.name replicaManager
replica.db.url jdbc:postgresql://localhost/replicas
replica.limits.adjust-start-timeout.unit SECONDS
replica.limits.delay-db-start-timeout.unit SECONDS
replica.limits.excluded-files-expiration-timeout.unit SECONDS
replica.limits.pool-watchdog-period.unit SECONDS
replica.limits.wait-db-update-timeout.unit SECONDS
replica.limits.wait-reduce-timeout.unit SECONDS
replica.limits.wait-replicate-timeout.unit SECONDS
spacemanager.cell.name SrmSpaceManager
spacemanager.db.driver org.postgresql.Driver
spacemanager.db.password.file
spacemanager.db.url jdbc:postgresql://localhost/dcache
spacemanager.enable.space-reservation false no
spacemanager.service.pnfsmanager.timeout 300
spacemanager.service.pnfsmanager.timeout.unit SECONDS
spacemanager.service.poolmanager.timeout 300
spacemanager.service.poolmanager.timeout.unit SECONDS
srm.authn.capath.refresh.unit SECONDS
srm.authn.hostcert.refresh.unit SECONDS
srm.cell.name SRM-${host.name}
srm.db.connections.partition-count 1
srm.db.connections.max-per-partition 50
srm.db.connections.min-per-partition 1
srm.db.driver org.postgresql.Driver
srm.db.url jdbc:postgresql://localhost/dcache
srm.enable.overwrite true false
srm.enable.space-reservation false no
srm.limits.external-copy-script.timeout.unit SECONDS
srm.limits.jetty-connector.handshake.timeout 10000
srm.limits.jetty-connector.handshake.timeout.unit MILLISECONDS
srm.limits.jetty-connector.idle-time.max.unit MILLISECONDS
srm.limits.jetty-connector.low-resource.max.idle-time.unit MILLISECONDS
srm.limits.jetty.graceful-shutdown.unit MILLISECONDS
srm.limits.jetty.threads.idle-time.max.unit MILLISECONDS
srm.persistence.bring-online.keep-history-period.unit DAYS
srm.request.bring-online.lifetime.unit MILLISECONDS
srm.persistence.bring-online.remove-expired-period.unit SECONDS
srm.request.bring-online.retry-timeout.unit MILLISECONDS
srm.request.get.switch-to-async-mode-delay.unit MILLISECONDS
srm.persistence.copy.keep-history-period.unit DAYS
srm.request.copy.lifetime.unit MILLISECONDS
srm.persistence.copy.remove-expired-period.unit SECONDS
srm.request.copy.retry-timeout.unit MILLISECONDS
srm.persistence.get.keep-history-period.unit DAYS
srm.request.get.lifetime.unit MILLISECONDS
srm.persistence.get.remove-expired-period.unit SECONDS
srm.request.get.retry-timeout.unit MILLISECONDS
srm.request.get.switch-to-async-mode-delay.unit MILLISECONDS
srm.persistence.keep-history-period.unit DAYS
srm.request.lifetime 14400000
srm.limits.lifetime.unit MILLISECONDS
srm.persistence.ls.keep-history-period.unit DAYS
srm.persistence.ls.remove-expired-period.unit SECONDS
srm.request.ls.retry-timeout.unit MILLISECONDS
srm.request.ls.switch-to-async-mode-delay.unit MILLISECONDS
srm.persistence.put.keep-history-period.unit DAYS
srm.request.put.lifetime.unit MILLISECONDS
srm.persistence.put.remove-expired-period.unit SECONDS
srm.request.put.max-ready-requests 2000 1000
srm.request.put.retry-timeout.unit MILLISECONDS
srm.request.put.switch-to-async-mode-delay.unit MILLISECONDS
srm.persistence.remove-expired-period.unit SECONDS
srm.persistence.reserve-space.keep-history-period.unit DAYS
srm.persistence.reserve-space.remove-expired-period.unit SECONDS
srm.request.reserve-space.retry-timeout.unit MILLISECONDS
srm.request.get.retry-timeout.unit MILLISECONDS
srm.request.switch-to-async-mode-delay.unit MILLISECONDS
srm.protocols.disallowed.get srm SRM
srm.protocols.disallowed.put http,srm
srm.protocols.loginbroker.period.unit MILLISECONDS
srm.protocols.loginbroker.timeout.unit SECONDS
srm.request.thread-queue-size 10000
srm.request.threads 250
srm.request.max-waiting-requests 1000
srm.request.ready-queue-size 10000
srm.request.ls.ready-queue-size 10000
srm.request.ls.max-ready-requests 2000
srm.request.max-ready-requests 2000
srm.request.retries 10
srm.request.retry-timeout 60000
srm.request.retry-timeout.unit MILLISECONDS
srm.request.max-by-same-user 100
srm.request.switch-to-async-mode-delay 1000
srm.request.switch-to-async-mode-delay.unit MILLISECONDS
srm.request.lifetime 14400000
srm.request.lifetime.unit MILLISECONDS
srm.service.copymanager CopyManager
srm.service.copymanager.timeout 24
srm.service.copymanager.timeout.unit HOURS
srm.service.gplazma.cache.size 1000
srm.service.gplazma.cache.timeout.unit SECONDS
srm.service.gplazma.timeout 30000
srm.service.gplazma.timeout.unit MILLISECONDS
srm.service.loginbroker LoginBroker srm-LoginBroker
srm.service.loginbroker.family srm SRM
srm.service.loginbroker.update-period.unit SECONDS
srm.service.pinmanager PinManager
srm.service.pinmanager.timeout 60
srm.service.pinmanager.timeout.unit MINUTES
srm.service.pnfsmanager.timeout.unit SECONDS
srm.service.poolmanager.timeout 3600 300
srm.service.poolmanager.timeout.unit SECONDS
srm.service.spacemanager.timeout 180
srm.service.spacemanager.timeout.unit SECONDS
srm.service.transfermanager RemoteTransferManager
srm.service.transfermanager.timeout 24
srm.service.transfermanager.timeout.unit HOURS
ssh1.cell.name alm
statistics.cell.name PoolStatistics
topo.cell.name topo
topo.limits.refresh-period 300000
topo.limits.refresh-period.unit MILLISECONDS
topo.service.system.timeout 20000
topo.service.system.timeout.unit MILLISECONDS
transfermanagers.cell.name RemoteTransferManager
transfermanagers.db.driver org.postgresql.Driver
transfermanagers.db.url jdbc:postgresql://localhost/dcache
transfermanagers.enable.space-reservation false no
transfermanagers.limits.transfer-time.unit SECONDS
transfermanagers.service.pnfsmanager.timeout.unit SECONDS
transfermanagers.service.pool.timeout.unit SECONDS
transfermanagers.service.poolmanager PoolManager
transfermanagers.service.poolmanager.timeout 3600 300
transfermanagers.service.poolmanager.timeout.unit SECONDS
webdav.authn.capath.refresh.unit SECONDS
webdav.authn.hostcert.refresh.unit SECONDS
webdav.cell.name WebDAV-${host.name}
webdav.enable.overwrite true false
webdav.enable.space-reservation false no
webdav.mover.kill-timeout.unit MILLISECONDS
webdav.mover.timeout.unit MILLISECONDS
webdav.mover.transfer-confirmation-timeout.unit MILLISECONDS
webdav.net.listen 0.0.0.0
webdav.service.gplazma.timeout.unit MILLISECONDS
webdav.service.loginbroker.family http
webdav.service.loginbroker.update-period.unit SECONDS
webdav.service.loginbroker.version 1.1
webdav.service.missing-files.timeout.unit MILLISECONDS
webdav.service.pnfsmanager.timeout.unit MILLISECONDS
webdav.service.pool.timeout.unit MILLISECONDS
webdav.service.poolmanager PoolManager
webdav.service.poolmanager.timeout 3600
webdav.service.poolmanager.timeout.unit SECONDS
xrootd.cell.name Xrootd-${host.name}
xrootd.gsi.ca.refresh.unit SECONDS
xrootd.gsi.hostcert.refresh.unit SECONDS
xrootd.mover.timeout.unit MILLISECONDS
xrootd.plugins gplazma:none,authz:none
xrootd.service.gplazma.timeout 30
xrootd.service.gplazma.timeout.unit SECONDS
xrootd.service.loginbroker.family root
xrootd.service.loginbroker.update-period.unit SECONDS
xrootd.service.loginbroker.version 2.4
xrootd.service.pool.timeout.unit MILLISECONDS
xrootd.service.poolmanager.timeout 3600
xrootd.service.poolmanager.timeout.unit SECONDS

Changelog 2.6.0 to 2.7.0

6f1d53c
[maven-release-plugin] prepare release 2.7.0
1bb078a
xrootd: Upgrade to xrootd4j 1.2.2
4d91e48
spacemanager: Fix S2 usecase.CheckGarbageSpaceCollector regression
d247399
chimera: fix handling of bytea data in path2inode and path2inodes stored procedures
490764d
libs: update to nfs4j–0.6.2
b0c5320
srm: Improve error message on file_busy and duplication_errors
b1d28c5
info-provider: Fix publishing of SRM
7121285
srm: Fix space expiration check in space query
d2678c3
srm: Fix regression in srmGetSpaceMetaData
44366d2
info-provider: Fix regression caused by info-provider using a deprecated property
bcb82ef
deb: Include cron job for billing compression and indexing
bc56040
doors: Allow loginbroker property to be empty
944ac43
srm: Fix NPE and timer thread kill when restoring jobs
d466517
Roll-back 2.7.0 release due to last-minute bug
9165378
Bump up dCache version for next round of pull-requests
d89204c
[maven-release-plugin] prepare release 2.7.0
b8e88bd
srmspacemanager: catch and ignore SQL exception on error handling path when processing PoolMgrSelectWritePool on reply from PoolManager
6ccec35
spacemanager: Fix setter for cleanupExpiredSpaceFiles property
1203f40
Fix dCache version to 2.7.0-SNAPSHOT
71514a4
libs: switch to jpnfs–0.6.1
b7315b1
ssh2: add options to control idle connection lifetime
1ee1caf
srm: Reformat Scheduler
bcb885a
Make RPM build SL compatible
2992721
gplazma: Fix unit tests for vorolemap plugin
bc88df1
gplazma: Avoid multiple primary FQANs
d928b2e
rpm: Fix build of non-snapshot versions
97ee57b
[maven-release-plugin] rollback changes from release preparation of 2.7-ndgf
841145f
[maven-release-plugin] prepare branch 2.7-ndgf
93718be
webdav: Log StringTemplate errors through slf4j
da267c0
srm-client: fix name of directory into which spec file is written
d36ae0c
dcache-xrootd: Upgrade to xrootd4j 1.2.1
01f0629
libs: update jglobus library
535824a
pnfsmanager: Change defaults for pnfsmanager
0784b9d
Upgrade to bonecp 0.8.0-dcache1
daa9c9d
dcache-xrootd: Fix stat, fix return codes
2a24c3e
srm: Avoid string conversion when persisting delegated credentials
1bed6f7
SRM Rename properties for simplicity and compactness, group SRM request properties by equest properties rather than by requests. Address some issues reported uin RT tickets 8069,8070,8071,8072,8073
d72c373
Chimera: fix out-by-one error
d777699
dcache-webadmin: add select/deselect all to ActiveTransfers and PoolUsage
495e336
dcache-webadmin: fix regression (submit failure) on ActiveTransfers introduced by auto-refresh
60c6210
dcache-webadmin: fix regression (submit failure) on PoolList introduced by auto-refresh
e40c1fc
dcache-webadmin: fix regression affecting checkall on alarms table
da27dbc
Add workaround for BoneCP bug
9f63e72
doors: Fix race condition in registration of mover creation and termination
e3f7d0f
srm: Various minor improvements to error reporting
87413b7
chimera: Provide meaningful exceptions on failure to delete a file
3a33917
srm: Fix race conditions in request credential storage
dabf972
chimera: fix sql exception if file name too long
1db17b0
srm: Improve error logging of file upload
4b007cd
pnfsmanager: Fix error type when delete is refused
cc1c91e
Fix dependency exclusion
895efe4
srm: Use shared read locks for read-only property access
54df75e
srm: Improve error and status messages
8ee096f
srm: Use description of last job transition in return status messages
22bf6c2
srm: Make rmdir work with S2
1d9df39
srm: Stylistic change in SrmRmdir
2adaba8
srm: Make srmRmdir S2 compliant
fc87b53
srm: Fix regression in srmGetRequestSummary
96e4b61
srm: Fix regression in listing busy SURLs
859ff80
srm: Improve status messages of put and bring-online requests
7683350
srm: Improve status messages of get requests
d229bd6
srm: Final iteration over SRM handlers to unify implementations
59aa187
srm: Clean up srmCopy request handling
6ef700a
srm: Clean up srmLs request implementation
d265236
srm: clean up srmBringOnline implementation
d8afd17
srm: Rewrite srmPutDone implementation
1cd708f
libs: downgrade apache-ssh library to 0.8.0
a15706f
libs: use bugfix release of jpnfs
2d6a1aa
nfs: fall back to numeric mapping by default
4fb5dbc
srm: Clean up srmPrepareToPut
e40140e
srm: Clean up srmPrepareToGet
e687da5
gplazma: ldap: fix closed connection problem
8529a07
chimera: use ArrayList instead of LinedList
8dc5f52
dcache-webadmin: add autorefresh to appropriate pages
b43f3a9
dcache-webadmin: fix table sorting for all relevant pages
2d2b78e
dcache-webadmin: fix page update
681a67a
dcache, webadmin: fix exception handling
b953577
Library and plugin updates
ea8283f
srm: Minor clean up in transfer protocol related methods
19d2dc0
srm: Clean up query operations
ef152ec
billing: Minor fixes in billing indexer
aaf19b4
dcap: convert ClosedByInterruptException into InterruptException
c518053
nfs4: include open stateid into diagnostic printouts
ae694c2
packaging: Obsolete dcache-server to make dcache package directly releasable to EMI, EGI
5807fa6
srm: Clean up srmReserveSpace and srmReleaseSpace implementations
2cad628
srm: Clean up srmMv implementation
a5e7642
Define default transaction isolation level for databases
01960a6
srm: Clean up srmRm implementation
91247c4
srm: Clean up mkdir and rmdir implementations
54cde32
Make DirectoryStream AutoClosable and use try-with-resource
b6236c1
webdav: Exclude unused milton dependencies
af040b5
bootloader: Extend check-config to log non-standard properties
a974a02
bootloader: Add check-config support for wrong service types
a9dd6e3
cells,spacemanager: Fix forwarding of messages
3e7f54d
srm: Clean up and fix permission operations
df5cb39
skel: exclude unneeded freehep/aida dependencies
43d81f7
javatunnel: add certificate chain to subject
4c32223
dcache: httpd service, remove ipv4 specific binding and expose httpd.net.listen
c2fa9e2
dcache: httpd service, add RequestLog to Jetty handler
9945077
spacemanager: bug fix. Always remove file from srmspacefile table
b5d507b
webdav: Fix typos in webdav Spring configuration
020dc2a
webdav: Fix error in config documentation
9249dcb
dcache-fhs: fix missing chown for httpd directory in debian postinst
0b54fc5
srmspacemanager: remove code path that has neever been used
c8c4807
hsqldb-plugin: fix transposed varchar settings
2c4d02b
cells: Improve routing failure error message
5170a38
billing,webdav: Log StringTemplate errors through slf4j
cce04b2
spacemanager: Fix authorization bug in space reservation for non-srm transfers
aeb2f49
nfsv4: use concurrent hash map for mover bookkeeping
0720f94
srm-client: Fix build failure for RPM package
5f17838
srm-client: Add tar packages
ebcf49f
srm: Improve error codes and messages in srmReleaseFiles implementation
7b0ebc3
Make message type final in InfoMessage
e67c0ac
Update example layouts
9796034
Revert “dcache-webadmin: fix page update”
cc7166a
dcache-webadmin: fix page update
381bc32
dcache-webadmin: reformat html pages
2bb7099
billing: add commands for recording queue insert data
c65211a
core: fix broken commit 187b136
187b136
namespace: relax HSM URI validation rules
c799209
billing: improve the insert queue logic
a8d856c
Fix white space bug in argument parser
f326f15
billing: Add bloom filter indexer and search tool
3c4a069
billing: Add bloom filter indexer and search tool
e7baf07
srm: fix srmExtendFileLifeTime implementation
affbd5f
doors: allow Transfer to accept a subject to talk to namespace
6af0e95
Remove redundant and verbose code constructs
34cc65e
poolmanager: Delete unused messages
a0c46dd
pnfsmanager: Drop unused fields and methods
91975d1
Refactor BootLoader
2ac4168
billing: Fix regression in billing flat file format rendering
f03d1d7
SrmSpaceManager: adapt to UniversalSpringCell instatntiation
9bbb182
billing: fix invalid property handling
82bd3fd
http: fix context based pages
f9f050d
pnfsmanager: Use correct queue for create entry and map messages
cdfad05
pnfsmanager: Fix null value in diagnostic context
abd425e
Fix bug in SpreadAndWait
dde0fca
billing (plots): adjust upper bound of aggregate plots
c54662c
dcache, system-tests: change .gitignore to .empty-dir
154f09d
srm: Fix srmAbortFiles and srmAbortRequest implementations
cddd8ae
srm-server: Minor cleanup in Job class
8f4c2b2
srm: Clean up SRMServerV2
62cf30c
srm: Treat TReturnStatus as immutable
5bb5f3f
srm: Inject data source and transaction manager from Spring
f7b11cd
srm: Fix authorization for srmv1 requests
780a19a
chimera: Fix major performance issue on file creation with ACL enabled
8a8809c
logback: revert to previous version (broken remote logging)
f86e0a7
Enstore Chimera Info extractor Enstore storageinfo URI contains original_name as a part of the query Special characters in the file name cause failure to create an URI with subsequent failure to stage the file in leaving stage request in suspended state. This patch addresses it: 1) introduces uri_encode/uri_decode strorage procedures 2) modifies ChimeraEnstoreStorageInfoExtractor class to handle both encoded and un-encoded file names
db31c9d
packaging: fix deb and tgz packaging
1cac9f2
libs: prevent JNA jar be pulled with NFS code
d3ebeaa
Upgrade BoneCP and Guava
7d3314a
srm: Introduce srm-common module and rename existing srm modules
52e1eb6
srm-client: Added missing srm-abort-files options in help text
f3872b3
srmclient: Fix failure detection
e8ff91e
webadmin: eliminate system-specific dir for unpacking of war file
7e2469a
dcache (billing): rewrite triggers to eliminate multiple repeated updates
34b497b
rpm,deb: limit max open files to 65535
e551253
srm: Resolve regression in PostgreSQL compatibility
2133986
rpm,deb: add default limits configuration
dcebab3
pool: Fix help text and multi-value support of PNFSID filter
ffa2579
pool: fix startup for pools that saved configuration earlier than 2.2
4f0a94d
dcap: remove misterious sleep
623c219
namespace: introduce CHANGE_TIME attrribute
9f347d1
namespace: remove dead FileAttribute to NFS atts method
6969ac1
srm: Use Spring JDBC support
f90d8c2
srm: Do not use SQLException unless its about JDBC
a4ce5ad
srm: Fix regression in srmCopy
4a1fed1
Change ssh admin properties documentation, historyPath
e3f1f28
webadmin: wait untill billing cell is ready
ac4a6bc
admin: fail commands when user supplies an option that is unknown
bdfe5b2
Replace db.schema.auto with dcache.db.schema.auto
0d2b69b
Deprecate a few old properties
1b3097d
allow relocation of srmclient scripts
d007db1
srm: Replace custom DB connection pool with BoneCP
7a34249
srm: Implement asynchronous save as a JobStorage decorator
3f95bc9
srm: Change job ID type from Long to long
b5f77a6
srm: Make Scheduler and ModifiableQueue type aware
9650be1
srm: Refactor persistence architecture
e09a88e
boot: print reasonable stacktrace for bugs
8b7c60e
httpd: fix access to context based pages
4ba7723
spacemanager: Delete file when cancelling a space reservation
36c70a6
spacemanager: Optimize AL/RP injection
58a2814
srmclient: Fix RPM prefix
c4e4a27
srm: Generify ContainerRequest, FileRequest and JobStorage
b317eca
nfsv41: TransferService sholud disable pool no disk errors
cfe4cda
nfsv41: simplify NfsTransferService and READ/WRITE ops interaction
cd60c56
fix m2e NPE because of missing versionRange problem
8bcadbd
fixup!srm,gplazma: Use CertPath as x509 cert chain credential in Subject
bc81889
srm,gplazma: Use CertPath as x509 cert chain credential in Subject
dcec5da
srm: Fix cut’n’paste error in request history period configuration
406f34b
srm: Optimize Job loading logic
8ff89b1
srm: Fix and clean up database update logic
c601858
srm: provide better logging for internal errors
6509dd2
ldap: fail if no mapping, make plugin less noisy
bac3ccc
gplazma-nis: plugin should fail on invalid mapping
3127eb9
libs: update jpnfs library
f490014
webadmin: sort domain entries on CellAdmin page
061e3c6
webadmin: fix jquery and Co. with new wicket
9895d4a
system-test: Fix authzdb generation when htpasswd is not installed
0b8d547
dcache: yet another fix to datanucleus dependency
cd3664f
[maven-release-plugin] prepare for next development iteration
1985871
[maven-release-plugin] prepare branch 2.7
6fe488b
pom: yet another fix to datanucleus dependency
8f050af
poolmanager: provide reasonable error message if partition type is unknown
81bef8f
startup: fix logging multiple stacktraces on RuntimeException
761fc66
gplazma-ldap: make DN search string configurable
e5743be
IPv6: Improve address handling by Subnet (was 4639)
94ffafc
dcap: drop READV io log level from info to debug
737abd8
*dcap, *ftp, ssh1: fix error handling
fb89879
srm: fix file ownership queries
2aa0930
spacemanager: Fix forwarding when disabled and add fast forward path
aa2b4d7
pool: update nfs mover to fit into current design
282950e
SRM: fix ping
8d22c35
pnfsmanager: Use pnfsmanager.enable.* for properties that enable features
aa77cdd
srm: Drop properties marked obsolete or forbidden in 2.6
a0cda60
spacemanager,transfermanagers: Don’t rely on SRM db properties
23a196f
doors: fix support for binding to a specific interface
24008b6
srm: Add failure counters for SRMv2 interface and refine counter formatting
bc36277
pool: Add rate limit for pnfsmanager messages
a8ce4f9
srm: Use ISO 8601 format for transition time stamp with millisecond resolution
98bb2cf
Fix more deprecated properties
c1629f9
scripts: don’t create pool with deprecated properties
95cb19f
nfs: start LoginBrokerHandler only if NFSv4.1 is enabled
b8b76cf
srm: whitespace-only changes to Spring XML file
f8403a3
Minor updates to third party libraries
e45b78b
Fix regression in message queue length reporting
806b889
pool: Fix problems with restoring permanent migration jobs
a5976db
Add *.cell.export properties
0116168
dcap: Rename dcap.mover.overwrite to dcap.authz.mover-queue-overwrite and change to boolean property
82dc208
srm: Fix a few more property chaining errors
72fdfec
xrootd, pinmanager, dcap, gplazma, admin, pool, poolmanager, pnfsmanager, webdav, cleaner: Add documentation and other minor property adjustments
7bc75c3
Fix HsmFlushController Seconds to Milliseconds conversion
9ea4db7
ftp: Add documentation to ftp properties
23ff586
srm: Fix property chaining
f49a761
Some final adjustements to configuration properties
a8e502b
Rename authentication related properties to comply with configuration policy
aaac2d7
srm: Property name refinements
5d6fafc
srm: Fix property chaining for srm.enable.spacemanager
1949e8d
srm: Fix property chaining for srm.enable.space-reservation
777c384
Fix regressions in configuration properties
fb3df86
Use unversioned spring schemas
37f72dd
transfermanagers: Fixed typo in cell name property
1d67e9f
nfs: use any-of annotation to control NFS versions to run
9043358
pom: switch to jpnfs 0.5.2
e69df3c
IPMatcher: Remove NetworkReality
2cfc58e
config: add support of any-of annotation
6bbc906
dcache.properties : fix typo
181dd95
pom: fix duplicated plugin declaration
005a699
Add dcache prefix to net properties
10a8964
Add dcache prefix to domain properties
3a66ae7
Optimize quote functions in ShellOracleLayoutPrinter
2d160a7
Optimize placeholder parsing and replacement
56abd8f
Optimize configuration parser and shell oracle
ea8917f
skel: add back datanucleus enhancer plugin dependency
db84faa
skel: fix regression in alarms properties affecting dcache database commands
6edcf5e
skel: fix regression in billing properties affecting dcache database commands
b751824
Remove support for scoped properties
4e119d0
Remove remaining scoped properties.
3644901
poolmanager: Minor update to performance cost calculation
c239f6f
Remove scoped port configuration properties
52fa364
Removed scoped db.* properties.
20127f7
Fix time unit related properties
4d22de6
spacemanager: Add missing properties and fix system-test config
2674fe1
spacemanager: Fix property annotations
eb7c315
Add a new gPlazma account phase plugin
3fb26cb
Remove scoped cell.name property
c540a62
admin,ssh1: Comply with new property policy
c052744
statistics: Comply with new configuration policy
d13912c
dir: Comply with new property policy
949011b
spacemanager: adapt to new properties naming convention
73f0dd4
pool,poolmanager: Minor cleanup of PoolCostInfo
5d6f524
srm: simplify handling of time unit in srm.xml
8c1d21c
core: don’t use reflection to invoke getPnfsId
59b59f8
admin: Add pcells subsystem to ssh2
49afa17
httpd (webadmin): Fix rerendering of cellInfo page
55f703e
httpd: update Wicket libraries to version 6.9.1
d5bd7f1
httpd: Comply with new configuration policy; convert HttpServiceCell to UniversalSpringCell
9a2993f
srm,transfermanagers,pnfsmanager: Fix problems introduced in 29685a5
7865b08
chimera-cli: fix usage help for writetag
1faf6fc
doors: Fix parsing of cipher flags
f2558ea
pool,poolmanager: Factor WASS code out of partition and selection strategy code
651bb91
pool: Add callout to health check script
0fe24c6
gplazma2-htpasswd: Add htpasswd support
15c1159
SRM: tidy up how JDC is used and how it interacts with NDC
29685a5
Squashed commit of the following:
11ee6ae
system-test: Do not use deprecated billing property
bbe8965
hsqldb: (billing) comply with new configuration policy
ea8221e
pool: Manage periodic health check through Spring
9fde766
chimera: Implement set-gid bit on directories
1ab1d24
statistics: Fix NPE in Html tree creation
8549a34
billing: Comply with new configuration policy
69bf878
ssh2: factory-out command factory
4ab18f4
Fix CellStub timeout handling
1a6bd94
alarms: Comply with new configuration policy
6ef6a5a
replica: Restored legacy values of deprecated replicaManager property
f01c9fc
spacemanager: Allow previously obsoleted values for deprecated srmSpaceManagerEnabled
bd0f3ef
cleaner: Clean up cleaner.properties
9eab932
loginbroker: Comply with new configuration policy
c0f4864
ssh2: Honor admin.colors.enable
3887dc4
ssh2: Honor admin.colors.enable
3e02f94
Change parameter to no type definition and switch line to above cell related properties
89bd221
Remove line that sets colors from environment param and not from within dCache
0def3e2
ssh2: Honor admin.colors.enable
1165fa8
info: fix concurrent modification
4cddf30
Add DB driver to the list of classes to load
9af1612
fix servlet classpath clash
ac4dd1c
system-test: build authorized-keys file
b7c82a4
httpd: Parameterize war unpack directory
bc0c1e2
system-test: Fixed several bashisms in populate script
2e1436a
srm: Minimize use of AuthorizationRecord
d9e508e
missing-files: Comply with new configuration policy
a649b47
info: Comply with new configuration policy
5723db9
cleaner: Comply with new configuration policy
f761ee1
cleaner: Add hsqldb support
ded9bf4
(skel): time-unit corrections to billing migration script
08b774e
info: fix broken import
cc94873
hsqldb: Update to version 2.3.0
8f4cd09
hoppingmanager: Comply with new configuration policy
43ee8a0
topo,cns: Comply with new configuration policy
dcdfe0d
Update SpreadAndWait to use CellStub
84f4acb
broadcast: Comply with new configuration policy
a9ac85f
gplazma: Comply with new configuration policy
7aa46d9
pool: Comply with new configuration policy
2ef0413
info: switch to using UniversalSpringCell
54ef99b
libs: Upgrade datanucleus
94e3ae1
libs: Update to latest versions
ad27108
gsi-pam: Remove service
28c2b88
pool: Add missing attributes in replicateOnArrival request
5d4f99b
Switch voms-api version to 2.0.6
d4fd324
cells: Fix deadlock
ae6f8b0
httpd: fix engine-based responses that don’t implement getInfo
684635c
admin: remove some dead code
5566617
dcap: better handling of client-supplied unresolvable hostname
e016dc6
Remove meaningless logging on replica-manager startup
e2aff97
pool: Allow multiple pool groups in migration target
c9ae5f3
replica: Comply with new configuration policy
39e3dd6
pnfsmanager: Comply with new configuration policy
3f16082
poolmanager: Comply with new configuration policy
d6050d8
Drop obsolete services
557a7f2
nfs: Comply with new configuration policy
57f7a4a
dcap: Comply with new configuration property policy
655b591
Add support in system-test for using user’s trust-store
a06a30c
system-test: refactor custom host certificate support
d85dd40
cells: Log stack trace if cell constructor throws undeclared exception
16c3762
system-test: Fix webdav protocol configuration
17aa2ed
spacemanager: Don’t rely on AuthorizationRecord
c84f7d2
pool: Remove dead code for compatibility with very old pools
45850f5
cells: Fix race conditions in cell lookup
7679d8d
pool: Fix memory leak in xrootd and httpd movers
59c9af5
ssh-admin: fix race condition when shutting down
9dc114e
Fix unit-tests for maven–2
1a099ef
ssh-admin: quieten noisy logging
60c2866
dcache: (billing) Fix incorrect MoverData field name
0039ddb
(logging) minor adjustments to error-level logging (@author arossi)
a9772c3
ftp: Comply with new property policy
f2a7c1f
Teach git to ignore generated content
a019dc4
Fix nsswitch plugin unit-tests
d471c3e
webdav: Comply with new property policy
3c8aa25
Fix various database-related niggles
0d65e39
pinmanager: Fix typo in pin manager property
e6b0a28
spacemanager : improve selecPool logic a little
81b54cf
poolmanager, pool: Drop classic partition and most space cost related code
fdb2bc3
xrootd: Make xrootd configuration comply with new policy
6db5ca3
pinmanager, other: Make pinmanager configuration comply with new policy
39b9580
dcache-webadmin: avoid rrd4j timestep error statement
074cf4e
srm: Implement SRM_FILE_BUSY response
4174110
poolmanager, doors: Don’t retry stage requests on the same pool
9b4a81c
info-provider: Escape percent sign in entity values
b83bcd5
cells: Fix login manager login limit interpretation
a42e3eb
dcache: (remote logging) change default server port to be outside ephemeral port range
e48a670
webdav: Fix problems with root paths
7a994d1
(dcache-webadmin) null guard on billing service method
5329877
dcache-webadmin (alarms): provide option for absence of alarms database
b419ba4
cells: Remove “Sending CellException to” log message
b848b32
gplazma: Fix DN extraction from proxy certificates
c9fcd4d
Get rid of java.sql.SQLException: Already have 1 record(s) with pnfsPath=…. for good
feaa4ab
logging: Set remote appender log level to off by default
0b075da
gplazma2-grid: Fix user name regression in authzdb plugin
45c172f
libs: Upgrade to JGlobus 2.0.6-rc3.d
d7189bc
libdcap: remove redundant code
5663972
nfs: added enable/disable switch to embeded portmat
a758744
nfs: add missing properties
50697ff
nfs: return NFSERR_DELAY if we can’t kill mover
547f84c
system-test: Add upload/download test for plain http
9b80c15
webdav: Use HTTP for proxied upload
5c49f82
libs: update jpnfs to 0.5.1
f9dec41
spacemanager: unknown message have to be sent to Poolmanager
dc0775c
webadmin: fix incorrect getter in StandardBillingService
324786c
webadmin: do not run billing service if database flag is off
917fcab
Fix typo introduced in 99c801f7b8a3f9dbeea210464f253b87b2212cd6
0656fbc
poolmanager: Make PSU collections thread safe and add accessors
99c801f
Inject configuration properties directly into spring cells
f894024
Squashed commit of the following:
da723b4
pool: Make xrootd max frame size configurable
4cc7e3e
Ban all Diffie-Hellman ciphers in Java 1.7.0_6 and higher
aa4044d
Squashed commit of the following:
4ff1ef4
nfs: allow protocol family name be configurable
3f98d0f
billing: restructure to use service-oriented architecture
6cfd0b6
ftp: Remove duplicate session ID in NDC
4db9462
pool: Improve resilience against broken SI files
895e14d
chimera: fix corruption of directory mode on tag update
6d57081
scripts: fix invalid path in dcache-pool-meta-preupgrade
d22ef81
Add support for banning problematic ciphers for Jetty SSL connectors
c914cdc
webdav: Fix interpretation of client cert properties
b870de4
chimera: update tags mtime on re-write
b5a977e
gplazma: Simplify mapping plugin interface
6276fca
broadcast: Fix expiration of dynamic subscribers
98e8a9a
pool: Remove caching behaviour of file meta backend
ce8d000
dcache: alarms fix four small bugs
5302c40
pool: Improve logging of common errors
c779a16
poolmanager: Made billing cell address configurable for pool manager
8ee2d97
Added billing property
778e094
srm: Make login broker of SRM configurable and clean up properties
7654683
srm: Make login broker of SRM configurable and clean up properties
571516a
set execute bit on files that are executables
075f7b0
drop execute bit on non-executable files
083a7eb
Fix quickJava for some shell versions
c74eb7f
Simplify use of DelayedReply
f2e9824
Add DelayedCommand base class
7169e3e
Remove HSM cleaner for PNFS
37bd138
Make packages/packaging both parent and aggregator of packaging modules
473f2fc
dcache-webadmin: Rename to webadmin.war in assembly
e4f60f2
Various improvements to short-lived Java invocations
fa9cde8
GLUE2: add GLUE2EndpointImplementation information
015c09a
system-test: avoid awkward cell.name values
6989c5e
dcache: Remove rogue logback-test.xml file
3a5aa51
Added instructions on how to build dCache
7397079
Delete legacy external jars
7de28ba
pool: Configure timeout for pool to pool transfer
e5a5f3a
Use correct junit dependency
640e854
logback-test-config: Synchronize logback version with dCache
848dc33
Fix incremetal compilation
70f94c6
packaging: Move DEB and RPM packaging to Maven and remove Ant configuration
224159c
webadmin: Rename module to dcache-webadmin
42ef411
gplazma: Rename dcache-gsi module to gplazma2-gsi
9e5b5f5
dcache: billing – fix error in liquibase varchar changeset
137e136
Ban elliptic-curve ciphers to prevent unsupported ciphers from being selected
5b0c165
libs: use jglobus–2.0.6-rc2
bdf5c93
Fix dCache FTP and SRM to be standards-compliant by default
8b658b3
dcache: alarm command line, fix minor bug
21b6b73
webadmin: make query and filter options set in browser session-specific (alarms, poolqueueplots)
8a51647
webdav: switch hard-coded JGlobus paths to those configured
7d7e188
dcache: alarms package.jdo missing varchar length on text fields Testing Done:
92687f8
webadmin: make srmSpaceManagerEnabled aware; enable real backoff on collectors
a7e9bf0
dcache: fix billing liquibase add plpgsql changeset
ebfc529
skel: gplazma batch failing because it still checks gplazmaPolicy
91b26bb
nfs: add more admin command to monitor door and movers
612b26c
nfsv4: use worker thread strategy in pools
15848f5
common: backoff fix error in precondition check
02dacf3
skel: fix billing database properties to work with dcache database commands
7076c3b
use a more secure default for webadminAdminGid
9b251e3
drop gPlazma1 config file and options
3ddfd9a
mark more legacy options to be obsolete
e4791a1
gplazma-xacml: turn down noise level
55522cc
switched another real domainname to example.org
3550a55
fixed RPM bash completion for dcache
d2fe542
skel: httpd.properties mark plots subdir as obsolete
a2700a8
corrected small typo in X.509
abf8e7c
use global config options
a43093d
webadmin: add range to alarm query api and panel
a4b3421
webadmin: alarms – fix behavior of display table header checkboxes
8fd507a
improved documentation for atime.gap
572162c
nfsv4: initialise CDC for better logging
e9e94ce
Minor bug fix upgrades for third party dependencies
18024e2
pool: Minor refactoring of HsmStorageHandler2
cea969c
pool: Fix race conditions in HSM management commands
9ec02c1
pool: Remove redudant rh/st jobs ls commands
09ae9a8
pool: Replace redundant st/rh jobs remove/kill commands with st/rh kill
34e16c1
pool: Clean up job scheduler used for HSM
52c0b34
pool: Clean up HSM storage handler
66418ff
pool: Clean up StorageClassContainer and StorageClassInfo
d127d8f
Revert “dcache: billing – fix error in liquibase varchar changeset”
db5ddfd
dcache: billing – fix error in liquibase varchar changeset
f008530
dcache: alarm service – change default db to rdbms
d4acd9c
dcache: alarms: Extend log level capture to all levels; fix server-side logging
dd26381
mark billingDb to be forbidden
2dee2d7
Add one-of annotation for log levels
87dc620
use example.org in some more places
3b751b8
don’t use /opt/ paths in dcachesrm-gplazma.policy
cf364ee
wevdav,xrootd,nfs: Fix blocking reverse DNS lookup
1a82766
ftp: Log stack trace on authentication failure
ae2c685
ftp: Log CertPath in case CertPath validation fails
c9fc6b9
Remove version number handling for SVN
a96423a
Parameterize log levels and log formats
925d173
gplazma2-xacml: fix regression on network address sort
aa414db
Switch values of sanatised variable to ‘true’ or ‘false’
4e234a0
system-test: add ability to autogenerate host credentials
9e260bd
Update patch based on Gerd’s comments
26adacd
gsidcap: fix regression introduced by 969903b5
9bde635
Fix NPE when a class providing a SOAP service returns nothing
c636e10
system-test: downgrade missing trust from an error to a warning
53e4eec
Remove deprecated code.
dc8d726
gplazma2-jaas: add principal mutator plugin
bf94aa4
cleaner: Fix null pointer exception in ‘hsms attached to pool’ command
e6c36c1
SRM: don’t talk to SpaceManager when disabled
4be3d97
SRM: log client disconnecting at debug level
7501658
ftp: Fix NPE regression in door initialization
94acc72
ftp: Fix regression in gPlazma and billing cell names
d114427
pool: Don’t claim a restore was successfull when it failed
969903b
A step towards configurable cell names for gPlazma and billing
d67ac58
pkgs: Debian package missing chown for alarms directory
c279f43
pool: Clean up flush controller
34ea012
Add ANSI output for admin shell help text
0151fd8
pool: Make access time update non-blocking
9c7df0b
gplazma: Remove internal principals from reply
3214bc2
nfs: add a possibility to list exports per host
fabb5ef
spacemanager: fix NPE and corresponding logging
5ce8a9c
pool: Fix CPU spin in Netty based transfer services
34dba7f
chimera: special files mtime should be always current time
b371e4d
nfs: switch to jpnfs–0.0.5
fdd490d
[maven-release-plugin] prepare for next development iteration