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-4 Head | 1.9.5-4 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..4 | no | no |
| 1.9.5-1..4 | 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..4 | yes | yes |
| 1.9.5-1..4 | yes | yes |
- The migration module will not work for -target=pgroup
and -target=link.
- The migration module does not work.
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