1.9.5 Release Notes
The main focus areas of the 1.9.5 release are optimisations and
polish ahead of LHC data taking. This release is expected to be
maintained throughout the first LHC data taking run.
Upgrade Instructions
Incompatibilities
Please consider the following changes when upgrading from a version
before 1.9.5-1:
- Pools of 1.9.5 releases will not work with head nodes older than
1.9.5.
- If ACLs are used, they now also have to be configured in
PnfsDomain or ChimeraDomain, see Permission
Checking and ACLs.
- The configuration parameter PermissionHandlerDataSource
was removed, see Permission Checking and
ACLs.
- FTP doors no longer require a mounted name space file system, see
Directory Listing.
- chimeraDomain no longer contains the directoryLookupPool
cell. Instead dirDomain has to be started, see Directory Listing.
- FTP doors no longer accepts the -encp-put option, see FTP.
- PnfsManager no longer accepts the -storageinfo-provider
option, see PnfsManager.
- The SpaceManagerDefaultAccessLatency parameter was
renamed to DefaultAccessLatencyForSpaceReservation, see SrmSpaceManager.
Compatibility
It is safe to mix pools of releases 1.9.4 and 1.9.5. Head nodes
and doors must be upgraded to 1.9.5 together and cannot be mixed with
head nodes or doors of releases before 1.9.5. Components of different
1.9.5 releases can be mixed freely.
Compatibility Matrix
We distinguish between pool components and head nodes. Any
component which is not a pool is considered a head node, including
doors. The following table shows compatibility between different
releases.
| | 1.9.5-15 Head | 1.9.5-15 Pool |
Head |
1.9.1-1..7,9..11 | no | no |
1.9.1-8 | no | no |
1.9.2-1..5,8..11 | no | no |
1.9.2-6,7 | no | no |
1.9.3-1..4 | no | no |
1.9.4-1..5 | no | no |
1.9.5-1..15 | yes | yes |
Pool |
1.9.1-1..7,9..11 | yes | yes[2] |
1.9.1-8 | yes[1] | yes[2] |
1.9.2-1..5,8..11 | yes | yes[2] |
1.9.2-6,7 | yes[1] | yes[2] |
1.9.3-1..4 | yes | yes[2] |
1.9.4-1..5 | yes | yes |
1.9.5-1..15 | yes | yes |
- The migration module will not work for -target=pgroup
and -target=link.
- The migration module does not work.
1.9.5-15
Chimera
Fixed a problem with setting file mode for files created through
the mounted NFS 3 file system. The file mode for such files was
previously hardcoded. This problem did not affect files created
through dCache.
Pool
Fixed several interoperability issues and bugs in the xrootd
mover. If xrootd is used we strongly recommend upgrading to
1.9.5-15.
Pool Manager
Fixed a bug in which Pool Manager in rare occasions could create an
orphaned file.
DCAP
Fixed an issue with stage authentication.
All
Fixed a compatibility issues with Solaris grep.
Detailed changelog 1.9.5-13 to 1.9.5-14
- [r13417] chimera: respect file mode specified by client
- [r13423] pool: Enlarge thread pool size for xrootd accept tasks
- [r13426] Changed method call for checking stage permissions
- [r13433] poolmanager: do not clean files location in waiting state
- [r13436] pool: Fix xrootd inoperability issue for vector read
- [r13439] xrootd: Fix retry on bind failure
- [r13442] pool: Fix reuse of TCP port in xrootd mover
- [r13447] scripts: fix Solaris grep compatibility
1.9.5-14
All
Fixed a Solaris compatibility issue in the init scripts introduced
in 1.9.5-13. This bug prevented domains from starting on Solaris.
The log4j related commands previously exposed through the System
cell are now available in all cells. The commands still affect the
logging of the complete domain.
SRM
Fixed a bug in the init script that caused the init script to fail
to stop or restart the SRM. The bug was introduced in 1.9.5-13.
Info
Fixed a potential starvation issue in the info service. This should
improve responsiveness of the info service on systems that push lots
of updates into the info service.
Detailed changelog 1.9.5-13 to 1.9.5-14
- [r13400] all: Expose log4j cell commands in all cells
- [r13404] init script: Fix SRM restart regression
- [r13406] Job scripts: Fix Solaris compatibility
- [r13410] info: switch state read/write lock to use the fair variant
1.9.5-13
SRM
The DB schema detection code for the srmLs related tables has been
fixed. The bug caused those tables to be recreated on every restart.
PoolManager
An error propagation bug was fixed. The bug caused failure to
resolve client host names to be retried forever.
Chimera
A compatibility issue between the Chimera NFS daemon and some Linux
distributions (e.g. Ubuntu) has been fixed. The issue caused errors to
be printed during startup of the NFS daemon and the daemon took a long
time to start.
DCAP
Failure logging in the DCAP door was improved. A number of
non-critical stack traces have been removed.
Pool
The migration module now ignores files that have been deleted in
the name space. Before such files would be retried until the file was
removed by the cleaner.
The fsync failure handling that was changed in 1.9.5-12 has been
changed again. In 1.9.5-12 failure to fsync caused a pool to be
disabled. We have discovered a number of common sources to fsync
failures that are not to be considered critical. Hence in 1.9.5-13 we
changed the behaviour such that failure to fsync causes a transfer to
fail, but the pool is not disabled.
A bug related to HSM script failures has been fixed. The bug would
cause the pool to essentially ignore an error code returned by the HSM
script when trying to stage a file. The stage would still fail if
checksum verification was turned on (which it is by default), but it
would cause the error message in the log files to be misleading.
All
Error reporting in the dCache batch processor has been
improved. The line number and file name is now reported on fatal
errors.
A bug in the dCache init script (bin/dcache) related to
stopping domains has been fixed. The bug would cause domains that were
in the middle of an automatic restart to be ignored by the
stop command. Also the start and restart
commands would not recognize such domains as already running and would
start a second instance. Part of the fix is that the bin/dcache
status command now shows when a domain is restarting. One
consequence of the fix is that we now store two PID files; one for the
Java process and one for the shell script that handles the restart
logic. The scripts shipped with dCache have been updated to handle
this change, but if you have custom scripts that rely on the PID
files, then those need to be updated.
A script compatibility issue with Solaris has been fixed. The bug
caused the automatic restart of domains to fail on Solaris.
The init script now uses an environment variable to pass the
CLASSPATH to the Java Virtual Machine. This solves a problem where the
command line length exceeded the maximum length allowed. It also makes
the output of utilities like ps nicer to read as the
excessively long CLASSPATH is no longer included.
Detailed changelog 1.9.5-12 to 1.9.5-13
- [r13308] http://www.dcache.org/rt/Ticket/Display.html?id=5397
- [r13310] Removal of two not working example-files
- [r13315] core: pool selection: propagate UnknownHostException
- [r13318] nfsv3: specify portmap version number when querying
- [r13323] dcap: refactor command processing loop
- [r13330] cells: Refactor CommandExitException handling
- [r13335] pool: Fix migration of deleted files
- [r13338] scripts: Fix 'dcache stop' behaviour in case of domain restart
- [r13372] script: Fix daemon script Solaris compatibility
- [r13375] scripts: Use environment variable for classpath
- [r13378] pool: Fix stage error handling
- [r13382] pool: Don't disable pool on sync
1.9.5-12
A new version of PNFS was released in November 2009. The new
version supports registering all deleted files in a special table in
the PNFS database. dCache 1.9.5-12 has new options to configure the
PnfsManager to let dCache consult this table when it cannot find a
PNFS entry for a file. If found in this table, dCache pools will
delete such orphaned files. The configuration options are
pnfsDeleteRegistration,
pnfsDeleteRegistrationDbUser,
pnfsDeleteRegistrationDbPass. Please consult
etc/dCacheSetup.template for details.
An issue with recovery of broken SI files in the pool's control/
directory has been fixed. That issue prevented pools with such files
from starting. With dCache 1.9.5-12 the SI file is recovered from
PnfsManager.
Another problem affecting recovery of meta data on pools was that
the recovery logic did not respect the lfs=volatile setting. This has
been fixed to correctly mark files on such pools as cached.
Starting with dCache 1.9.3-1, dCache would call fsync(2)
after upload to synchronize the new file's in-core state with the
storage device. Failure during sync would be logged, but was not
considered a fatal error. After talking to several sites, we have
decided to consider failure to sync to be a fatal error. Starting with
dCache 1.9.5-12 the transfer will be considered failed and the pool
will be disabled.
The command to stage files administratively through the PinManager
was broken since dCache 1.9.5-1. This problem has been fixed.
Chimera was updated such that it respects subnet masks in the
export file.
The callout to the HSM script on dCache pools has been updated such
that all HSM locations of a file are passed to the script.
dCache supports running multiple DCAP doors on the same
host. Support for this has however been broken since dCache 1.9.3-1
due to bugs in the init script. This has now been fixed.
For other changes, please consult the detailed changelog below.
Detailed changelog 1.9.5-11 to 1.9.5-12
- [r13140] pnfs, add deletion registration config
- [r13158] pool: Recover corrupted SI file
- [r13162] pool: Log pool size when complaining about file system size
- [r13166] core: changing the getter method name in LoginBrokerHandler
- [r13168] PinManager: restore admin stage functionality
- [r13171] srm: improve error reporting by pgpass, do not hide errors by returing null pass, but rather propogate SQLException
- [r13179] nfsv3: respect subnetmask in export file
- [r13182] http://rb.dcache.org/r/1345/
- [r13186] pool: Respect LFS mode during meta data recovery
- [r13190] pool: Log lock file name on failure to acquire lock
- [r13193] pool: Disable pool on sync failure
- [r13198] infoprovider: update BDII-bug workaround so all RFC-2253 must-markup characters are converted to a colon
- [r13226] xylophone: tidy-up of DN calculation and link-breaking
- [r13228] Reverted part of r13186 which was not supposed to be part of that
- [r13236] hsm: pass all hsm locations to restore script
- [r13242] hsmcleaner: Fix shutdown sequence
- [r13245] httpd: Fix shutdown sequence
- [r13255] ThreadManager: Fix shutdown sequence
- [r13265] chimera: sort locations according priorities
- [r13270] srm: fix startup-ping so failures are reported
- [r13274] chimera: ignore empty tags
- [r13283] cells: Make cellClass configurable
- [r13286] core: add linkGroup name into error message
- [r13295] scripts: Fix handling of multiple dcap doors
- [r13301] cells: Log bugs in command processing
1.9.5-11
An XROOTD write corruption issue has been fixed in the pool. This
issue was introduced in version 1.9.5-1 and we recommend that all data
written through XROOTD to an affected version of the pool code is
verified for integrity. Notice that the dCache checksum cannot be used
to verify the integrity of the file, as the checksum is computed from
corrupted data. We urge all sites running a prior version of 1.9.5 and
using XROOTD for writing into dCache to immediately upgrade to at
least version 1.9.5-11. dCache 1.9.6-1 is affected from the same
issue. dCache 1.9.6-2 contains the fix.
After reverting to JGlobus 1.4 in dCache 1.9.5-10 we discovered
that the problem we tried to avoid also existed in that version of the
library. Thus in dCache 1.9.5-11 we are back to using JGlobus
1.7.0. In addition we have found and fixed at least one race condition
that could lead to GSI authentication failures in GridFTP and the
SRM.
The Kerberos FTP door has been broken since the release of dCache
1.9.5-1. The problem has been resolved in dCache 1.9.5-11.
A couple of NullPointerException fixes have been made in GPlazma
and in the pool migration module.
Detailed changelog 1.9.5-10 to 1.9.5-11
- [r13047] bump version number
- [r13052] srm: Move log4j to Tomcat common/lib directory
- [r13059] gPlazma, remove posibillity of the NullPointerException in the clean up due to exception in the constructor
- [r13061] Reverting r13036
- [r13066] configuration: Polish the text in dCacheSetup.template
- [r13072] junit: switch to hsqldb-1.9-rc6
- [r13073] commons: add missing utility function
- [r13075] Reverted r13052
- [r13083] pool: Fix initialization failure in migration module
- [r13087] external: Add fix for CRL race condition in JGlobus
- [r13110] srm: fix info output
- [r13112] chimera: switch to new chimera
- [r13116] pool: Fix xrootd write corruption
- [r13121] FTP: Log JGlobus exception on authentication
- [r13130] Kerberos FTP: restore ftp functionality in 1.9.5
1.9.5-10
A security issue was fixed in the DCAP door. We recommend all sites
to upgrade the DCAP doors.
JGlobus was downgraded to version 1.4. In dCache 1.9.3 we moved to
JGlobus 1.6 and in dCache 1.9.5 we moved to JGlobus 1.7. We have
however recently received reports of GSI authentication issues with
the SRM. When the issue occurs, certificates from a subset of the CAs
are rejected for no apparent reason. A restart resolved the issue,
however then certificates from other CAs could begin to fail. Given
the current status of the LHC, we decided to downgrade to JGlobus 1.4
until this issue has been resolved. This unfortunately also means we
reverted to the pre-1.9.3 behaviour regarding CRL handling.
A race condition was fixed in the pool code. On pools with
-replicaOnArrival enabled, this race condition has on some sites been
reported to cause 10% upload failures. The symptoms are that the
upload hangs at the end of the transfer. We recommend that all sites
using the -replicaOnArrival option upgrade their pools.
Since dCache 1.9.3-1, the PoolManager had a bug which caused it to
cluster writes. This bug has now been resolved and version 1.9.5-10
should achieve much better write balancing. The write pool selection
logic has also been refined to take the file size into account when
selecting a write pool. In particular when using random pool selection
this should reduce the risk of sending several writes to an almost
full pool at once.
The info provider now publishes the GlueSESizeTotal, GlueSESizeFree
and GlueSAReservedOnlineSize attributes. The name space implementation
used is now published as part of the GlueSEImplementationVersion
attribute. An example of the new version string is "1.9.5-10
(ns=Chimera)". Finally, the info provider now correctly publishes
information related to the default store unit. Please consult the
information in etc/glue-1.3.xml.template regarding the
default-store-unit-VOs list.
The dCacheConfigure.sh script has been updated to work
with the current information provider.
The SRM component had an annoying habit of leaving the files
createDDL.jdbc and dropDDL.jdbc in the current
working directory during startup. This is now fixed and those files
are now always created in /opt/d-cache/etc/. The files are
only created if they do not already exist. Once created, the files are
not modified.
The SSH admin shell of dCache had an issue with how it closed the
connection to the SSH client. This caused trouble in scripts, as the
output from the session would sometimes be incomplete. This issue has
now been fixed.
A bug related to the -lfs option was fixed in the
pool. The bug caused the option -lfs=volatile to be
interpreted as if it had been -lfs=precious.
An issue in the interaction between the migration module and pin
manager has been resolved: It some cases a pool may have a sticky bit
on a file owned by the PinManager which the PinManager no longer has
in its database. In previous versions, the PinManager would fail to
remove such a sticky bit, thus causing the migration module to retry
the move indefinitely. Now the PinManager removes the sticky bit even
when it no longer appears in its database.
The GridFTP door now implements the ALLO command. The command was
already accepted in previous versions, however it was ignored
internally. The ALLO command allows the client to specify an upper
bound on the size of a file before upload. dCache now uses this value
to choose a pool with sufficient space to hold the file. This is in
particular important when using random pool selection. Unfortunately
many GridFTP clients do not support the ALLO command.
A NullPointerException was fixed in the DB backend of the billing
cell.
Server side SRM copy now uses 8443 as a default port if the SURL
lacks a port number.
Several minor fixes have been made in Chimera scripts, NFS4 door,
PnfsManager and other components. Please consult the detailed change
log below.
Detailed changelog 1.9.5-9 to 1.9.5-10
- [r12901] general: fix compiler warnings about UTF-8 literals
- [r12904] general: fix compiler warnings about UTF-8 literals
- [r12906] migration comparator: fix output if FileMetaData comparison fails
- [r12907] Revert code checked in by mistake
- [r12909] Changed Unittest Buildfile to include only Classes ending with "Test.java" or "Tests.java" and renamed all Test- and Helperclasses to follow this convention
- [r12911] Corrected Unittest hsmRestoreTest
- [r12912] Fix for build break due to 12909
- [r12913] settign executable flag on infoprovidercms.rb
- [r12918] nfsv41: handle clients with bad stateid
- [r12920] nfs: make use of PnfsHandler
- [r12922] deploy: use rpcinfo to discover portmap service
- [r12924] Stripped trailing white space
- [r12927] fixed RepositorySubsystemTest and StorageInfoTest
- [r12928] srm: Fix get protocol check
- [r12933] Permissions check is added when deleting a file
- [r12940] Fix auto-discover of PNFS mount-points
- [r12944] core: use Set<T> interface in constructor of UserAuthRecord
- [r12951] update info-provider docs (README-GLUE) with fault-finding information
- [r12954] namespace: call correct constructor in PnfsSetFileAttributes
- [r12961] Pool: Fix ConcurrentModificationException on upload
- [r12966] Fixed Unittest poolMonitorTest
- [r12971] infoprovider: add some require GLUE attributes that were missing
- [r12974] infoprovider: publish namespace implementation within GlueSEImplementationVersion
- [r12983] Specify paths to JDBC files that contains the DDL statements used by toplink
- [r12986] cells: Fix socket closure in admin shell
- [r12989] gridftp: Implement ALLO command
- [r12993] migration comparator: various improvements
- [r12996] BillingDB: avoid NullPointerException-message in httpdDomain.log
- [r12998] srm: copy accepts srm urls without srm port specified and assumes it is 8443
- [r13000] PoolManager: Extend magic feature to take file size into account
- [r13001] Added command line options to process information system xml
- [r13002] Make dCacheConfigure.sh work with new information system configuration management ruby script
- [r13003] comparator: add script to run comparator
- [r13006] http: use log4j instead of System.out
- [r13011] srm: PutCompanion: do not try to unregister dir creators if dir creation was not attempted
- [r13014] Pool: Restore Volatile Mode support
- [r13016] Remove tabs
- [r13019] Fixed Unittest threadManagerTest
- [r13021] http: remove replace System.out with log4j
- [r13023] dcap: do not issue prestage on non file objects
- [r13024] dcap: do not issue prestage on non file objects
- [r13025] infoprovider: add support for default store unit (*@*)
- [r13027] Changing one parameter name according to the current settings in chimera.batch
- [r13033] Fixed Unittest org.dcache.tests.auth.UserAuthRecordTest
- [r13036] external: Downgrade to JGlobus 1.4
- [r13038] PinManager: remove unknown sticky bits in response to MovePin request
1.9.5-9
The info provider, glue-1.3.xml, was extended with support
for nearline accounting. WLCG requires that this information take into
account tape compression; therefore, we cannot use any component
within dCache to figure out nearline information. Published
information must come from an external source. This external source
is an XML file tape-info.xml, which is at a fixed location. The
default contents of this file will publish no nearline space, but the
site-admin may override the file with the information they wish to
publish. The anticipation is that the site admin writes a small script
that creates the file with up-to-date information. A description of
this file's format is in the
/opt/d-cache/share/xml/tape-info-empty.xml file.
The handling of the SRM_PARTIAL_SUCCESS return code was fixed in
the server side srmCopy implementation. The bug caused a compatibility
issue with Castor.
PoolManager write balancing was broken since 1.9.3-1. This problem
would mean that many concurrent writes had a tendency to go to the
same pool. With 1.9.5-9 the old behaviour should now be restored.
A race condition in a meta data printing routine was fixed. This
race condition could lead to ArrayIndexOutOfBoundsExceptions in SRM
and other components.
Version 1.9.5-3 added an explicit mover kill at the end of a DCAP
session. In some cases this could lead to an excessive amount of log
messages about missing movers in pools. In version 1.9.5-9 we have
therefore reduced the log level of this message.
Logging of uncaught exceptions has been improved in several
components. In older versions, critical errors could in some cases go
unnoticed because the error was not logged.
For other fixes, see the detailed change log below.
Detailed changelog 1.9.5-8 to 1.9.5-9
- [r12817] xylophone: use indirect reference to external XML file locations
- [r12820] infoprovider: add support for nearline accounting
- [r12824] add CellVersion support to AbstractCell
- [r12831] xylophone: add support for unique constraints for objects and attributes
- [r12833] infoprovider: remove some duplicate VOInfo objects and SA.ACBR attributes
- [r12838] http://rb.dcache.org/r/1087/, srm: allow SRM_PARTIAL_SUCCESS as a request status
- [r12844] core: Fix race condition in FileMetaData.toString
- [r12849] dcap: do not send kill to finished mover
- [r12858] jglobus: Upstream version of CRL cache patch
- [r12860] fix misspelling billingDbUer -> billingDbUser in httpd.batch, dCacheSetup.template
- [r12863] pool: Use FireAndForgetTask for our thread pools
- [r12865] additional fix for misspelling, keeping existing configuration
- [r12872] http://rb.dcache.org/r/1104/, srm: fix a bug that could lead to ArrayIndexOutOfBounds exception in multi file copy request
- [r12878] PoolManager: Fix the magic feature
- [r12882] pool: Don't log a kill of a missing mover as an error
- [r12887] PoolManager: Ensure that magic feature doesn't make cost negative
1.9.5-8
Several minor typos have been fixed in the info provider. Those
fixes improve the standard compliance of the info provider output.
The stage protection that was introduced in 1.9.4-1 would break
access through SRM when enabled. This problem has now been fixed. The
problem only occurred when the stage permission enforcement point was
placed in the doors.
Passive mode DCAP reliability has been improved. In rare cases two
concurrent transfers could cross and cause file corruption.
In dCache 1.9.3 we upgraded from JGlobus 1.4 to JGlobus 1.6. The
upgrade introduced enforcement of Certificate Revocation
Lists. Unfortunately this new functionality also introduced a
performance regression that would reduce the scalability of all dCache
components that rely on GSI. We have submitted a patch for this issue
to the JGlobus project. dCache 1.9.5-8 includes this patch.
Detailed changelog 1.9.5-7 to 1.9.5-8
- [r12769] infoprovider: fix typos found by Stephen Burke
- [r12772] PnfsManager: Don't check lookup permissions on root directory
- [r12776] This patch fixes PinManager to avoid the problem of using SRM door with stage protection
- [r12780] get rid of error messages if SrmSpaceManager is disabled
- [r12782] infoprovider: update comments to include SAM bug Savannah references
- [r12789] dcap: use UUID as a challenge
- [r12791] xylophone: add support for additional external XML files; support for xpath-based addition
- [r12792] infoprovider: update README to document that additional stale files must be removed
- [r12802] jglobus: Add CRL caching
1.9.5-7
Previous releases of 1.9.5 contained a bug in the new directory
listing code. The bug caused listings of directories containing more
than 100 entries to sometimes be incomplete. The issue affected all
doors supporting directory listing, but did not affect listing of
individual files. This issue is fixed in 1.9.5-7.
The ls command in the SRM cell (that is the command to list SRM
requests, not a directory list command) was non-functional in previous
1.9.5 releases. This functionality has now been restored.
The info provider has seen a few more WLCG compatibility fixes, and
the NFS 4.1 door also got a protocol compliance fix.
Detailed changelog 1.9.5-6 to 1.9.5-7
- [r12740] core: Let CellStub propagate NoRouteToCellException
- [r12742] doors: Fix message reordering issue in ListDirectoryHandler
- [r12744] infoprovider: add default GlueSE.ImplementationVersion
- [r12746] infoprovider: support suppress elements inside attr elements
- [r12748] infoprovider: suppress publishing empty VO GlueSA.ACBR attributes
- [r12751] xrootd: Fix parse error for open request
- [r12753] cells: Fix typo in EventLogger
- [r12756] nfsv4: fix session id generation
- [r12757] http://rb.dcache.org/r/1030/, srm, restore admin ls command functionality, by looking in the SharedMemoryCache for the active jobs of particular type
- [r12760] deployment: no tomcat stacktrace on install
- [r12761] info: fix summary of SRM reservations so changes in ownership propagate
1.9.5-6
We continued to receive reports that 1.9.5-5 generated root owned
directories with PNFS. With the help of PIC and FZK we have now
finally identified the real cause of the problem. The fix for this
problem has been confirmed to work at FZK and PIC, and the fix is
included in dCache 1.9.5-6.
We have also received reports about problems with the new info
provider included since 1.9.5-4. We believe most of these have been
tracked down, including bugs in numerous client applications (see the
following Savannah tickets: 57787, 57799, 57840, and 57827). dCache 1.9.5-6
includes fixes and workarounds for all issued we could identify.
Despite our claims that 1.9.5-1 supports ACLs for a number of SRM
operations, previous 1.9.5 releases did not interpret ACLs for any SRM
requests. This has now been resolved and srmRm, srmMove,
srmMkdir and srmLs requests are subject to ACLs. There
is still one known issue: ACLs that restrict access based on the
source IP of a request do now work with the SRM. This will be fixed in
the next release.
In all releases since 1.9.1-1, the pool would in some cases ignore
certain pool parameters. In particular the tag.hostname parameter
would in some cases be dropped, but other parameters could be affected
as well. This has been fixed in 1.9.5-6.
For non-SRM transfers, the message Already have 1
records(s) would be printed in the log file. The transfers would
complete and space management was correct. dCache 1.9.5-6 eliminates
the log message for non-SRM transfers.
Previous versions of Chimera contained a bug in the PNFS ID to path
mapping. The bug broke directory listing from DCAP. This issue has now
been fixed.
Other changes:
- SRM: logging fixes
- Chimera: Fixed failure triggered by database restart
- Admin: Fixed back space handling in the admin interface
- SRM: Minor performance improvement in SRM 1 uploads.
Detailed changelog 1.9.5-5 to 1.9.5-6
- [r12672] http://rb.dcache.org/r/959, change the printing of the message that sending checksum failed from error output to debug output
- [r12677] PnfsManager: Add workaround for negative directory entry cache problem
- [r12681] fix inode to path mapping
- [r12682] nfsv3: fix reply on server failure
- [r12687] UniversalSpringCell: Fix argument parsing in the presence of -${<number>}
- [r12692] get rid of "Already have 1 record(s)" for non-SRM transfers
- [r12696] info-provider: work-around lcg-infosites bug with GlueSA.ACBR
- [r12698] info-provider: add missing NearlineSize attributes
- [r12700] info-provider: add support for generating LDIF for a site-level BDII
- [r12702] info-provider: work-around lcg-infosites bug in using only deprecated attributes
- [r12704] info-provider: work-around bug in BDII due to its non-complience with RFC 2253
- [r12706] info-provider: work-around bug in how FTS obtains list of supported VOs
- [r12708] info-provider: fix publishing of SRM so (single) aliased FQDNs are supported
- [r12710] libs: Update JLine to 0.9.94
- [r12712] info-provider: improve the work-around for BDII bug
- [r12714] info-provider: suppress VOInfo objects without a VO
- [r12716] xylophone: fix lookup so they use the default value when XPath result is empty
- [r12721] srm: Call Storage.exists rather than getFileMetaData at end of transfer
- [r12723] acl: Avoid catching RuntimeException
- [r12725] AclMapper without Origin
- [r12727] http://rb.dcache.org/r/1000/, Summary:
- [r12732] cells: Avoid InterruptedException in CellNucleus.addToEventQueue
1.9.5-5
- SpaceManager: Extended 'update space reservation' command with options to change VO group and VO role.
- Pool: Improved robustness of P2P module in case of socket errors.
- all: Fixed memory leaks resulting from dangling references to dead threads.
- PoolManager: Fixed pinging logic to check whether P2P and stage requests are alive.
- PnfsManager: PNFS cannot store the size of files larger than 2
GB. Therefore dCache stores the file size in the l-flag of level
2. However since 1.9.5-1 dCache would only store the file size in
level 2 for files that are actually larger than 2GB. Older versions
always stored the file size in level 2. This change does not bother
dCache, but it breaks some VO frameworks and HSM scripts. In 1.9.5-5
we have reverted to the old behaviour of always storing the file size
in level 2.
- PnfsManager: Added permission checking for list operations.
- PnfsManager: Added lookup permission checking for various
operations.
- PnfsManager: Make permission updates more robust for PNFS. It is
well known that PNFS has issues with permission checking on
directories: Sometimes the operation fails and the resulting directory
is owned by root. There have been some reports that this problem
occurs more frequently in dCache 1.9.5. In 1.9.5-5 we have added a
workaround that we hope will improve the situation. Please let us know
if you observe any changes.
- Chimera: Update ctime when meta data changes.
- dirDomain: Fix listing of individual files (was broken in previous
1.9.5 releases).
Detailed changelog 1.9.5-4 to 1.9.5-5
- [r12642] extend admin function "update space reservation" with to optional
- [r12644] pool: Make P2P Acceptor more robust
- [r12648] cells: Clean up NDC references on thread termination
- [r12652] PoolManager: Stop ping handler on error
- [r12656] namespace: always store file size in level2
- [r12658] PnfsManager: Fix permission checking for list and lookup
- [r12659] SpaceManager: Renamed and fixed group and role options of update command
- [r12663] PnfsManager: Make permission update more robust
- [r12666] chimera: update inodes ctime on metadata change
- [r12667] namespace: use global path on id to name mapping
1.9.5-4
The previous patch level release contained an RPM dependency on the
java-package RPM. This broke compatibility with a number of
distributions that did not provide this package. The dCache 1.9.5-4
release removes this dependency.
In addition to the dependency change, the following fixes are
included:
- PinManager: Reduce timeouts to improve recovery time in case pools
go down while a file is being pinned.
- PinManager: Fix administrative pin pnfsid command which
did not work since version 1.9.5-1.
- all: Protect cells from crashing due to serialization failures.
- all: Improve robustness of automatic restart in case of out of
memory errors.
- Info provider: A new glue-1.3.xml.template is included. In
contrast to the old version, this info provider publishes space
reservations and installed capacity information. The existing info
provider is not affected. To activate the new version a new copy of
the template has to be created and the configuration values have to be
filled in.
- Chimera: A TCP timeout related bug in the NFS daemon was
fixed. This bug caused slow responses on some versions of Linux.
- Pool: Fixed a space accounting bug in the NFS 4.1 mover.
- PnfsManager: Added UID and GID to the storage info of a file. Thus
the HSM flush script will have access to these fields.
Detailed changelog 1.9.5-3 to 1.9.5-4
- [r12593] pinmanager: Fix unauthorized pinning
- [r12596] cells: Protect cell against SerializationException
- [r12598] pinmanager: Adjust timeout settings
- [r12601] deploy: remove runtime dependencies on java
- [r12604] xylophone: fix bugs in attr support for dynamic, repeated attributes
- [r12614] xylophone: fix bug preventing use of list-iterator item from evaluation within a predicate
- [r12618] rpc: disable Grizzly's default idle connection timeout
- [r12619] Update info provider to publish space tokens and installed capacity information
- [r12623] Remove old comment
- [r12627] nfs: mover: keep track of space allocation
- [r12633] namespace: add file owner uid and gid into storageinfo
1.9.5-3
- all: Updated PostgreSQL JDBC driver to latest release. This should
eliminate the warnings many have seen in the PostgreSQL log
files.
- deployment: Updated dCacheConfigure.sh to use the SERVICES
declaration in node_config rather than the legacy service flags.
- info: Improved logging and exception handling.
- pool: Fixed sticky bit expiration. In some cases sticky bits did
not expire until pool restart.
- dcap: Kill the mover when client disconnects from the door.
- nfs41: Kill the mover when client disconnects from the door.
- PnfsManager: Don't store access latency and retention policy until
file has been uploaded to the pool. This avoids repeated updates of
the file meta data, thus improving performance.
- pool: Fixed a deadlock in the migration module. The deadlock was
introduced in 1.9.5-1.
- PoolManager: Improved detection of pools that are down. We hope
this solves the problem with files not being retried when the pools
come online again.
- info: Fixed a bug that in some cases prevents the links-section
from being populated.
- srm: Avoid memory leak when running without a thread manager.
- xrootd: Initialize request ID when creating a new mover. This
suppresses warnings on the pools when the same file is read by
multiple clients. It also allows resend requests to the pool be
collapsed (if configured on the pool).
- pool: Added 5 minute timeout for xrootd mover when redirected
client does not connect (was broken in 1.9.5-2).
- scripts: Fixed Solaris compatibility.
- pool: Disabled file system size check for 32-bit Java on Solaris
with large file system.
Detailed changelog 1.9.5-2 to 1.9.5-3
- [r12497] dcap: removed unused code
- [r12499] external: update postgres jdbc driver to latest version
- [r12509] Changing to the new node.config format for dCacheConfigure.sh
- [r12526] Maintenance of the metric expunge: increase available logging and simplify flow very slightly
- [r12529] pool: Fix sticky bit expiration
- [r12531] dcap: remote pending movers on client disconnect
- [r12533] Add a couple more debug statements
- [r12535] nfs: door: fixed orphan movers
- [r12539] namespace: do not store access latency and retention policy on create
- [r12543] pool: Fix deadlock in MigrationModule
- [r12546] Fix exception when info message times out
- [r12548] Catch any Throwable thrown by a scheduled task in the ScheduledExecutorService in StateMaintainer
- [r12550] build: drop build dependencies
- [r12553] PoolManager: Always enable watchdog
- [r12555] PoolManager: Fix PoolUp handling to take lost message into account
- [r12558] pool: Handle UnresolvedAddressException in FTP mover
- [r12560] Downgrade an info SIP logging message since it isn't an error
- [r12568] http://rb.dcache.org/r/880/,
- [r12572] pool: Fix Xrootd connection timeout
- [r12574] xrootd: Initialize request ID in pool request message
- [r12577] Fix info service SIP NAS naming and PaintInfo equals
- [r12581] scripts: Don't mount name space on GridFTP doors
- [r12583] scripts: Fix generic.lib.sh compatibility with Solaris
- [r12585] pool: Fix file system size check in case Java doesn't know the size
1.9.5-2
- srm: Enforce ACLs for SRM advisory delete.
- pool: Added -verify option to migration module.
- info: Fixed message timeout handling.
- srm: Fixed two deadlocks.
- pool: Added 5 minute timeout for xrootd mover when redirected client does not connect.
- srm: Fixed a race condition.
Detailed changelog 1.9.5-1 to 1.9.5-2
- [r12424] srm: Ensure that ACLs are checked for advisory delete
- [r12426] pool: Add checksum verification on update
- [r12431] Alter Info service to use AbstractCell instead of CellAdaptor
- [r12438] Remove hard-coded registration of the info cell as well-known
- [r12450] srm: Fix infinite job reload loop
- [r12453] Adjust stop and restart, and add condrestart operations to the dcache script
- [r12458] Fixing typos in install.sh which broke mounting correctly
- [r12461] pool: Implement accept timeout for xrootd
- [r12465] SRM: Remove deadlock caused by implicitly calling job's toString() method in lo$
- [r12467] srm: hold a write lock during cache cleanup
- [r12468] pool: Fix recovery of BROKEN files with Berkeley DB backend
- [r12470] srm: removed redundant job state update
- [r12472] bump version number
- [r12475] srm: fix regression introduced by r12450
- [r12480] test: Update test cases to match changes in r12468 and r12469
- [r12487] Quick and dirty improvement of exception
- [r12488] Adding an rpm dependency to SRM server and SRM client RPM's on java > 1.5 so the client can be deployed on glite 3.2
1.9.5-1
Permission Checking and ACLs
In dCache, file permission checking such as for create, read, and
delete has traditionally been the responsibility of the
doors. Starting with the 1.9.5 release, this check can optionally be
moved to PnfsManager. Besides the structural benefits of enforcing
permissions at a single point, there are performance gains from
avoiding extra round trips between the door and PnfsManager. To enable
permission checking inside PnfsManager, define
permissionPolicyEnforcementPoint to PnfsManager in
config/dCacheSetup of doors:
permissionPolicyEnforcementPoint=PnfsManager
Currently PnfsManager based permission checking is only fully
supported by the DCAP and FTP doors. For the SRM door, permission
checking for srmRm, srmMove, srmMkdir and
srmLs is always delegated to PnfsManager, no matter the
definition of permissionPolicyEnforcementPoint. This speeds
up those operations and enforces ACLs if ACLs are enabled in the
PnfsManager. Permission checking for other SRM operations are still
performed in the SRM door and are not subject to ACLs yet.
The configuration parameter PermissionHandlerDataSource
was removed. Permission handlers in doors now always query meta data
from PnfsManager rather than from the mounted name space file
system.
Enabling ACLs has been simplified in dCache 1.9.5. To enable
ACLs, define aclEnabled to true in
config/dCacheSetup of doors and PnfsManager. This must be
done in addition to defining the database connection parameters. There
is no longer a need to redefine the permissionHandler
parameter - it is however still respected if defined. If ACLs
are used, these must now also be configured in pnfsDomain or
chimeraDomain.
Directory Listing
Directory listing in FTP, SRM and the dirDomain used to be
performed on the mounted name space. Starting with 1.9.5, doors
request the directory listing from the PnfsManager.
One consequence is that it is no longer required to mount the name
space on FTP doors and the dirDomain. SRM still uses the
mounted file system for some other list related operations. With PNFS,
PnfsManager must have access to the mounted name space. With Chimera,
even PnfsManager does not require the mounted file system.
Another consequence is that directory listing through FTP is now
significantly faster.
PnfsManager executes the directory listing on dedicated
threads. The number of threads used is defined by the parameter
pnfsNumberOfListThreads in config/dCacheSetup.
For Chimera, the directoryLookupPool was previously
started inside the chimeraDomain. Starting with version
1.9.5, the regular directoryLookupPool in the
dirDomain works with Chimera, and thus chimeraDomain
no longer contains directoryLookupPool.
Starting dCache as an unprivileged user
Until dCache 1.9.5, there was no support for running dCache as a
user different from root. This has now changed. If the variable
user is defined in config/dCacheSetup, then the init
scripts will drop privileges and start dCache as that user.
Log files are still generated as root, which means they can still
be written to the default location of /var/log/. Ownership of
PID files is changed to the unprivileged user, which means they can
still be written to the default location of /var/run/. To
support automatic restart, the dCache init script generates a stop
file to surpress restarts when dcache stop is executed. This
used to be generated in the jobs/ directory. Starting with
dCache 1.9.5, these files are now generated as hidden files in
/tmp.
Please take care that the user under which dCache is executed has
sufficient priviledges. Watch out for the following:
- Pools need write access to the pool directory.
- SRM, SpaceManager, PinManager, Billing (if enabled), and
ChimeraDomain need database access.
- Billing (unless disabled) need write access to the billing
directory.
- Statistics needs write access to the statistics
directory.
- Doors and pools need access to the host certificate and
host key.
- gPlazma needs read access to /etc/grid-security/
and the host certificate and host key.
Hot-spot detection
The trigger mechanism for hot-pool replication has been enhanced by
integrating an algorithm contributed by Jon Bakken, FNAL. The
algorithm ranks pools based on their CPU cost. The n-th percentile
pool cost is chosen, where the n-th percentile is the cost of the pool
within that ranking: 0% selects the lowest pool cost, 50% selects the
median cost and 100% selects the highest pool cost. This cost is used
as the threshold for establishing pool-to-pool "on cost"
transfers.
In PoolManager, specifying a on-cost value as a number not ending
with "%" will result in the old behaviour; all current dCache
deployments will have such a value. Specifying a value ending with "%"
will result in the percentile cost being calculated dynamically and
the resulting value used as the threshold for on-cost pool-to-pool
transfers.
Stage Protection
Stage protection was added in dCache 1.9.4. In version 1.9.4, stage
protection had to be configured in every door and in the
PinManager. In version 1.9.5, the stage protection can now optionally
be configured in the PoolManager rather than in the doors and
PinManager. Thus the white-list only needs to be present on a single
node. To enable this, define the following in
config/dCacheSetup:
stagePolicyEnforcementPoint=PoolManager
The file name of the white-list must still be configured by setting
the stageConfigurationFilePath parameter, however the
parameter only needs to be defined on the nodes which enforce the
stage protection, i.e. either on the doors and PinManager, or in
PoolManager.
Cell Communication
Robustness of the cell message tunnel has been improved. In
particular we moved to the Java NIO API for I/O and disabled Nagle's
algorithm on the TCP connections used for cell communicaton. This has
dramatically reduced the latency of cell communication.
PnfsManager
PnfsManager was restructured internally. As a consequence the
option -storageinfo-provider is no longer accepted.
PnfsManager now supports an operation to set several attributes of
a file in one operation. This has cut down on the number of messages a
door or a pool needs to send to PnfsManager during upload of a
file. This also reduces the number of PNFS operations required for
setting these attributes. However as a consequence of this change,
pools from 1.9.5 releases will not work with older head nodes.
SrmSpaceManager
SrmSpaceManager supports changing the lifetime of a
reservation with the update space reservation command.
The SpaceManagerDefaultRetentionPolicy parameter was
removed, as it was no longer used. The
SpaceManagerDefaultAccessLatency parameter was renamed to
DefaultAccessLatencyForSpaceReservation to better reflect its
purpose. The old parameter is still respected if it is defined.
PinManager
PinManager now supports the command bulk pin for
administratively pinning a large number of files. Which files to pin
is defined by a local file on the node hosting the PinManager.
Pools
The migration module can now filter on access latency and retention
policy using the -al and -rp options. The
-exclude option now supports single character and multi
character wildcards.
The flush logic was extended to handle FILE_NOT_FOUND errors from
PnfsManager: Such an error now causes the file to be deleted from the
pool, thus avoiding an infinite retry loop in case the file was not
properly registered in the companion. This change will only have an
effect with Chimera or with PNFS supporting a trash table.
The pool every 60 seconds checks the amount of free space on the
file system and adjusts the pool size if the amount of free space on
the file system is smaller than the configured amount of free space in
the pool.
Info Service
The info service has been refactored to ease unit testing. This is
now the most well-tested component in dCache.
External libraries
The JGlobus library used for GSI and GridFTP handling has been
updated to version 1.7.
The log4j logging library has been updated to version 1.2.15.
Chimera
Scalability of the Chimera NFS daemon was improved. Log and PID
files are now stored in /var/log/ and /var/run/,
respectively.
Protocol support
SRM
Verbosity of logging in the SRM has been reduced. Some of
the code has been transitioned to use log4j, which exposes more log
levels than used in previous versions.
SRM has seen a few performance related changes. In
particular the srmPutDone operation performed at the end of an
upload is now faster.
The SRM code has been refactored internally to prepare for multiple
SRM doors running on top of the Terracotta distributed shared memory
framework. Running multiple SRM doors is not yet supported for
production setups, however much of the infrastructure is in place to
support such setups.
Error reporting of srmMkdir and srmRmdir has been improved. In
particular we now use specific error codes rather than the generic
SRM_FAILURE.
FTP
The legacy callouts to encp from inside the GridFTP door
have been removed. Hence the option -encp-put is no longer
supported.
Xrootd
In version 1.9.4, the XROOTD door (also known as the XROOTD
redirector) was reimplemented for better scalability. In version
1.9.5, the XROOTD mover (also known as the XROOTD data server)
underwent the same kind of transformation. The new versions uses
significantly fewer threads, and we hope it will scale better and be
more robust under load than the old version.
The old mover is still shipped with dCache and can be activated by
modifying the pool movermap.
NFS 4.1
The NFS 4.1 implementation was refactored for better scalability
and thread management.
Detailed changelog 1.9.4-1 to 1.9.5-1
- [r11855] Add saxon jar file
- [r11857] build: fix missing execution bit on info-based-infoProvider
- [r11860] Auto indentation
- [r11861] removed obsolete dcache-srm.jar from classpath
- [r11865] ftpdoor: Fixes race condition in use of SimpleDateFormat
- [r11872] pool: Fix potential integer overflow issue
- [r11873] http: Add httpRootPath and httpAllowedPaths parameters
- [r11874] cells: Clean up CommandInterpreter
- [r11875] gPlazma: Change the AuthzQueryHelper class to receive CellEndpoint's instead of CellAdapter's
- [r11880] pool: Fixed a couple of race conditions in DCAP and XROOTD movers
- [r11885] pool: Fix correctness issue in p2p component
- [r11886] xrootd: Fixed several bugs in token authorization plugin
- [r11888] pool: Fix a few low-priority issues in meta data store
- [r11889] Stripped trailing white space
- [r11890] core: Forgot to commit this file
- [r11891] core: Minor optimisation in AbstractCell
- [r11892] cells: Minor exception handling cleanup in RoutingManager
- [r11893] cells: Fix exception handling in CellAdapter.getCellVersion
- [r11894] code: pool manager message requires reply
- [r11897] chimera: sql: make path2inode stored procedure compatible with postgres 8.1
- [r11899] PermissionHandler: Substitute CellAdapters by CellEndpoints
- [r11902] pnfsmanager: Merge Provider interfaces
- [r11905] script: Add --force option to dump heap command
- [r11909] core: Fix FileMetaDataSource implementations after r11899
- [r11914] Instead I marked the field volatile
- [r11915] core: extend CellStub with CacheExceptionFactory
- [r11921] http://rb.dcache.org/r/433/ esay->say
- [r11924] core: Replace Dictionary by Map
- [r11925] pnfsmanager: Extends NameSpaceProvider interface with Subject
- [r11928] Fixed tests that broke in r11925
- [r11929] srm: Use log4j and other minor improvements in Storage class
- [r11930] http://rb.dcache.org/r/434/, use prepared statements throughout srm sql code
- [r11931] cells: Add workaround for Java bug 4509080
- [r11932] cells: Exception clean up in ClassLoaderProvider
- [r11934] cells: Fixed bad coding style detected by findbugs
- [r11937] http://rb.dcache.org/r/417/ - robust connection handling, use log4j in
- [r11945] ftpdoor: Stripped a few unused configuration options
- [r11946] cells: Improve robustness of cell networking
- [r11947] core: Remove feature to rename a file to a unique name
- [r11948] chimera: nfs: fix startup script
- [r11949] pnfsmanager: Add decorator of NameSpaceProvider for permission handling
- [r11951] build: added batik-1.7 for background images autogeneration
- [r11960] core: dcap: remove obsolete code from dcap mover
- [r11961] http://rb.dcache.org/r/446 double maximum JVM memory allocation pool
- [r11964] LoginBroker: 'ls' by multiple protocols
- [r11966] pnfsmanager: Remove storage-info-provider option
- [r11967] core: make use of java.security.Subject
- [r11968] build: added exclude filter for findbugs
- [r11969] chimera: cli: add cells.jat into classpath to make log4j happy
- [r11970] core: Add utility method to convert AuthorizationRecord to Subject
- [r11973] http://rb.dcache.org/r/470 drop call to Storage.getFileMetadata(path)
- [r11976] http://rb.dcache.org/r/447/, initialize the root path in case both gplazma cell and module are not used
- [r11977] http://rb.dcache.org/r/316 ,Measure SRM Server V1 functions using RequestExecutionTimeGauges
- [r11978] core: refactor ProtocolConnectionPool to use PortRange
- [r11979] pnfsmanager: combined file attributes (AKA megamessage)
- [r11980] Updated Repository test to match changes in r11979
- [r11981] core: require reply on sendAndWat in CellStub
- [r11982] core: Use EnumSet (bit mask) to represent a set of file attributes
- [r11983] Fixed test after r11982
- [r11986] pnfsmanager: Move AL and RP handling into BasicNameSpaceProvider
- [r11989] http://rb.dcache.org/r/476/ - extend "update space reservation" admin
- [r11991] remove unused code
- [r11992] pnfsmanager: Implement getFileAttributes
- [r11994] xrootd: Stability fixes for xrootd
- [r11996] http://rb.dcache.org/r/484 - tie minor srmclient version number to
- [r12002] http://rb.dcache.org/r/489 replace "while(set.next())" with
- [r12005] Stripped trailing white space
- [r12006] Remove absolete code for PinManager
- [r12007] removing obsolete classes
- [r12008] deleting unused package dir
- [r12014] pool: Make FTP block size configurable
- [r12015] pool: Use PortRange class to parse port range and bind socket in ftp mover
- [r12018] pool: Delete file on flush if name space entry was deleted
- [r12019] pool: Fixed a race condition in migration module
- [r12022] build: update dcache.jar when configuration files change
- [r12023] Forgot to commit this file
- [r12026] JavaDoc cleanup in NameSpaceProvider interface
- [r12027] JavaDoc cleanup in Message base class
- [r12028] core: Add factory method to CacheExceptionFactory
- [r12029] cells: Add LinkedBlockingQueue to CollectionFactory
- [r12030] core: Change FileAttributes to use Set interface rather than implementation
- [r12031] Migration module: Add access lantency and retention policy filters
- [r12032] Add Glob utility class
- [r12033] ftp: Avoid using mounted file system
- [r12034] core: Include DN and FQAN with subject
- [r12039] Add information about how to decommission the old info provider
- [r12044] Fix bug in info service where secondary information isn't always updated
- [r12045] pool: Add globbing to -exclude option of migration module
- [r12046] core: Turn Origin into a Principal
- [r12047] pnfsmanager: Add ACL and MODE to FileAttributes
- [r12048] ftp: Refactor list methods
- [r12049] http://rb.dcache.org/r/504/ , RT ticket 4699
- [r12052] build, install and init scripts: add support for Mac OS X
- [r12053] ftp: Use FileAttributes to gather file attributes for listing
- [r12057] Add new PermissionHandler based on FileAttributes
- [r12058] http://rb.dcache.org/r/522/ - drop direct 2 remaining direct sql queries
- [r12067] install and init scripts: Unbashify scripts
- [r12069] Stripped trailing white space
- [r12070] Stripped trailing white space
- [r12071] Stripped trailing white space
- [r12072] Stripped trailing white space
- [r12075] BroadcastRegistrationTask: add support for abstract cell components
- [r12076] PnfsManager: Fix ACL configuration parameter parsing
- [r12081] httpd: Set content type for CSS
- [r12082] cells: Exception chaining
- [r12083] core: Fix serializability of CacheInfo
- [r12084] core: Fix Serializability of FQAN class
- [r12085] Forgot to commit this file with r12082
- [r12090] PnfsManager: Fix integer overflow
- [r12091] httpd: Fix synchronization and exception handling issues
- [r12092] httpd: Fix exception handling in PoolInfoObserverV1
- [r12093] dcap: Fix NIO related deadlock
- [r12094] Auto indentation and stripped trailing white space
- [r12096] core: Add support for running dCache as non-root
- [r12097] core: Add directory listing to PnfsManager
- [r12099] mover: add range support to the http mover
- [r12100] Added two files that were mistakenly not included in r12099
- [r12101] http://rb.dcache.org/r/536, PinManag refactor, inttroduction of the PinManagerJob for incupsulation of the pin operations state and parameters
- [r12108] Performance Test - Enhanced the test to have more command line options
- [r12109] gplazma - Edited httpd.batch file to show gplazma cell on cellinfo page
- [r12110] Fix broken example
- [r12111] core: Make Interval Serializable
- [r12112] cells: Make Args Cloneable
- [r12113] dir: Refactor to use AbstractCell and clean up exception handling
- [r12114] FTP: Use proper reply codes and handle PermissionDeniedCacheException
- [r12115] FTP: Deal with empty list replies
- [r12117] Add support for Jon's p2p dynamic threshold
- [r12118] It is possible that a StorageInfo object has multiple location URIs that are identical
- [r12119] solaris: Fix two compatibility issues with Solaris /bin/sh
- [r12120] PnfsManager: Add timeout aware list partitioning
- [r12121] http://rb.dcache.org/r/581/, srm: Clean up imports, remove unused code and other random bits
- [r12122] http://rb.dcache.org/r/580/, srm: Use log4j rather than SRM logger
- [r12123] Set mime type on binary file
- [r12124] Set mime type on binary file
- [r12132] Fix web server so start up doesn't emit meaningless error message
- [r12133] Upgrade from log4j 1.2.8 to 1.2.15
- [r12134] core: Adds retryOnNoRouteToCell property to CellStub
- [r12135] srm: Remove dead code
- [r12136] core: Add NotInTrashCacheException
- [r12137] core: Add TimeoutCacheException
- [r12138] PnfsManager: Improve error reporting for createEntry
- [r12139] dir: Use new list framework for directory listing
- [r12140] Chimera: Make ChimeraCacheInfo$CacheFlags serializable
- [r12143] Chimera: Make ChimeraCacheInfo$CacheFlags serializable
- [r12144] init: Fix Solaris compatibility
- [r12145] Add more debugging information to detect problems in PNFS mount detection
- [r12146] Make chimera-nfs-run quieter when starting up
- [r12147] http://rb.dcache.org/r/573/, Add new pulk pin admin command, add commands for reporting statuses of interactive jobs
- [r12149] SRM: Optimize and clean up Storage.removeDirectory
- [r12150] Add extended set of unit tests for existing info code-base
- [r12151] pnfsmanager+ftpdoor: Permission check in name space provider
- [r12152] Fix white-space and line-wrap
- [r12155] Upgrade to Netty 3.1.2
- [r12156] core: namespace: make use of chimera directroy listing iterator
- [r12157] Add VerifyingVisitor and associated unit tests
- [r12158] doors: Add Subject field to DirectoryListSource
- [r12159] fixed broke build introduced by r12156
- [r12162] Added methods
- [r12163] I commited this modification to trunk in error and should have been done to a branch
- [r12164] http://rb.dcache.org/r/583/, srm: Turn Job State into an enum
- [r12165] Add StateExhibitor interface
- [r12166] Add actual interface, naughty eclipse
- [r12167] Add spaces in log lines
- [r12170] namespace: use dirDomain for pnfs and chimera
- [r12171] Add new classes to facilitate unit testing of info service
- [r12172] srm: Add Storage.getFullPath path normalization method
- [r12180] http://rb.dcache.org/r/625/, use log4j instead of say/easy, better exception handling for srm v2 request handlers
- [r12181] http://rb.dcache.org/r/621/, srm: Add JobIdGenerator to decouple the srm request creation from the id generating classes
- [r12182] http://rb.dcache.org/r/578/, PinManager: detect if the operations on the existing pin are failing and attempt to create a new pin instead
- [r12186] srm: Use DirectoryListSource to obtain directory listing
- [r12187] PnfsManager: Removed PermissionNameSpaceProvider (dead code)
- [r12188] Introduce the StateCaretaker interface
- [r12189] Fix HSM restore of zero length files
- [r12194] Adjust StateWatcher interface
- [r12198] dcap: gsi: fix voms role handlig
- [r12202] Add StateObservatory interface
- [r12207] srm: Rewrite Storage.createDirectory
- [r12210] chimera-nfs-run.sh: Fix bashisms
- [r12211] ftp: Remove support for encp script
- [r12212] PnfsManager: Add PNFSID attribute to FileAttributes
- [r12213] dcap: Add PnfsManager based permission checking
- [r12217] http://rb.dcache.org/r/643/, PinManager: Unpin Expired pin requests in PINNING state, resolves rt #4362, #4437, #4731
- [r12218] Stage configuration in PoolManager
- [r12219] door: nfs: add some basic admin commands
- [r12220] PnfsManager: Add error reporting and overwrite flag to renameEntry
- [r12221] http://rb.dcache.org/r/647, srm: Refactor the logic for surpressing request garbage collection, instoroduce shared memory cache, which keeps active requests in memory and can serve as a root for terracotta distribution of requests
- [r12222] core: Add ability to restrict delete entry operation to particular types
- [r12228] Update Cog JGlobus jars to 1.7.0
- [r12234] This patch provides three interrelated activities
- [r12235] srm: Rewrite RemoveFileCompanion to use PnfsManager based permission check
- [r12237] srm: Refactor srm move to rely on PnfsManager for permission checking
- [r12238] Remove singleton nature of InfoProvider class, add two interfaces to simplify interactions
- [r12239] Delete trailing white space
- [r12240] Factor out branch metric names when querying space info
- [r12241] Add a class to store information about a link gleaned from dCache state
- [r12242] chimera: added caching of fsinfo call
- [r12243] The StateChangeSet object contains information about what is going to change in a given StateComposite (i.e., branch)
- [r12244] Source-code formatting fix: remove tabs, adjust text width, etc
- [r12245] Minor rewrite: change expiry behaviour when date expires
- [r12246] fixed broken interface
- [r12247] chimera: fixed broken interface
- [r12248] Add LinkInfoVisitor class to extract LinkInfo information
- [r12249] Create a class ReservationInfo to hold information gleaned from dCache state
- [r12250] pool: Add some protection against overcommitting pools
- [r12251] Add support in StateComponent to support purge
- [r12252] pool: Fix race condition in migration module
- [r12255] Add ReservationInfoVisitor class for extracting information about SRM reservations
- [r12256] Add support for purge in StateUpdate
- [r12257] Add support for purge to State
- [r12258] Add support for bulk metric registry in StateUpdate
- [r12259] solaris: Another /bin/sh compatibility fix for Solaris
- [r12260] Add QueuingStateUpdateManager
- [r12261] Add StateLocation class
- [r12263] spring: Updated to 2.5.6.SEC01
- [r12265] http://rb.dcache.org/r/649 , SRM Refactor Srm Scheduler Initialization and Discovery code
- [r12266] http://rb.dcache.org/r/315, Code for logging Request Execution time gauges to the RRD DB and for generation of the graphics and html
- [r12267] srm: Use CellStub for RPC style messaging
- [r12268] srm: Reimplements login broker query
- [r12269] pool: Make WriteHandleImpl and ReadHandleImpl thread safe
- [r12271] xrootd: Fix parsing bug in statx request
- [r12272] cells: Cache bean name of CellInfoProviders
- [r12273] nfsv4.1: switch to grizzly based NFSv41 door and mover
- [r12274] fixed classpath for newly aded test
- [r12275] http://rb.dcache.org/r/649 removed the line for getting the srmCopyResponse by mistake, this restores this line
- [r12276] nfsv41: door: print more information on getInfo()
- [r12277] init: Fix daemon script so it correctly detaches from terminal
- [r12283] nfsv41: door: make use of cell stub
- [r12284] Add NormalisedAccessSpaceMaintainer class
- [r12285] http://rb.dcache.org/r/649 broke asynchronous ls, while testing ls, I did not test the asynchronous mode, this commit fixes asynchronous ls
- [r12287] xrootd: Fixed timeout handling and cleanup for write
- [r12288] Introduce ReservationByDescMaintainer class
- [r12289] xrootd: New xrootd data server for the pool
- [r12290] srm: Fix srmMv for the case with identical source and destination
- [r12291] srm: Synchronize access to Random
- [r12292] config: Move settings related to permission handling to fragment
- [r12293] gsitunnel: fix regression introduced by r12093
- [r12296] http://rb.dcache.org/r/699/ , srm: Refactor SRM instantiation logic
- [r12297] http://rb.dcache.org/r/655/,
- [r12299] replaced say with logger.debug and esay with logger.error where
- [r12301] nfsv41: remove Syste.out.println
- [r12302] door: nfsv41: ported to Spring Cell
- [r12303] Skip a link's space branch when visiting dCache state with LinkInfoVisitor
- [r12304] Fix broken import
- [r12305] Add a few missing override annotations; remove unnecessary cast
- [r12306] Apply update to derived metrics when removing metrics
- [r12307] Register the StateUpdateMaintainer to allow primary metrics that provide derived metrics
- [r12309] Add some more debugging output for StateMaintainer
- [r12310] Remove static reference to (previously singleton) InfoProvider
- [r12311] Allow access to the info service XML Conduit from only the loopback device
- [r12316] Fix race condition between sending request for data and adding metadata for resulting metrics
- [r12317] Use correct message OUID when locating metric metadata
- [r12319] get rid of "SpaceException: SpaceManager is disabled in configuration"
- [r12322] removed default retention policy and defauolt access latency from SrmSpaceManager
- [r12323] log4j: Use version 1.2.15
- [r12325] slf4j: Move slf4j packages out of opensaml and upgrade to version 1.5.8
- [r12326] http://rb.dcache.org/r/738, Enable JGlobus 1.7.0 Delegation Key Pair Caching
- [r12327] Remove inserts into the history tables from the ReplicaManager, as these
- [r12328] re-introduce default access latency to SrmSpaceManager
- [r12329] Rig org.dcache.services.info.base.State for better debug logging
- [r12330] Remove unused imports
- [r12331] Add additional debugging to MessageHandlerChain
- [r12332] core: switch to corect class of OptionalDataException
- [r12333] Fix race condition in StateMaintainerTest
- [r12335] PnfsManager: Finish ACLPermissionHandler
- [r12336] PnfsManager: Send AddCacheLocation notification on PnfsSetFileAttributes
- [r12337] Add some generics wildcards
- [r12338] Remove unnecessary exception thrown under unusual circumstances
- [r12339] pool: Use PoolMigrationCopyMessage rather than PoolMigrationUpdateReplicaMessage
- [r12340] pool: Remove task ID from migration module
- [r12341] http://rb.dcache.org/r/758/, Fix problem reported by Tigran as Regression in PinManager: Save Requests in DB before FileRequests are saved, improve handling of the Illegal or absent request error
- [r12342] http://rb.dcache.org/r/762/, Restore srm-get-request-tokens functionality
- [r12345] Add tests for MessageHandlerChain's implementation of the MessageSender Interface
- [r12346] Add unit tests for MessageHandlerChain's implementation of MessageMetadataRepository
- [r12347] Making Krb-v5 and telnet tunnels in standard dcap rpm
- [r12348] nfs: remove old nfs implementaion
- [r12350] Changed return of authorization service to be the mapping of each dn/role to an authorization record or null
- [r12351] Add unit tests for CellInfoMsgHandler
- [r12352] srm: Use org.dcache.util.LoginBrokerHandler for registering the door
- [r12354] Fix Chimera NFS server startup script so it doesn't overwrite existing log file
- [r12358] 1.9.5 branch
- [r12360] merge with 12356
- [r12363] Lionel Patch: to have the logs and pid files for Chimera at the same place as for other dcache cells
- [r12366] If a DN/Role is not authorized, a null is returned for the authorization record
- [r12370] From http://rb.dcache.org/r/789
- [r12376] scripts: Fix Solaris compatibility
- [r12377] For http://rb.dcache.org/r/788
- [r12379] For http://rb.dcache.org/r/790
- [r12382] For http://rb.dcache.org/r/795
- [r12384] scripts: Fix generic.lib.sh script after r12375
- [r12397] Update dCache version of Xylophone to latest available
- [r12402] recompiled jglobus libraries with ant.build.javac.target = 1.5 in build.properties, to allow client to be run with java 1.5
- [r12406] Update support for sending Message subclasses so the metric TTL metadata is found
- [r12407] Fix broken persistent metadata path
- [r12410] nfs: rpc.jar: added UDP support
- [r12411] nfs: rpc.jar: added UDP support
- [r12414] srm: Fix LoginBroker registration
- [r12418] Make sure we use the canonical name when registering with a LoginBroker