-
Notifications
You must be signed in to change notification settings - Fork 3
/
release-notes-2.12
4245 lines (2898 loc) · 180 KB
/
release-notes-2.12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
HTML header: <title>dCache 2.12 Release Notes</title>
<!--#include virtual="/template/default-head.shtml" -->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css"/>
<!--link type="text/css" rel="stylesheet" href="jquery.tocify.css" /-->
<style type="text/css">
h5 {
font-size: 15px;
font-style: italic;
margin-top: 20px;
}
body {
padding-top: 20px;
}
@media (max-width: 767px) {
#toc {
position: relative;
width: 100%;
margin: 0px 0px 20px 0px;
}
}
@media print {
#toc {
display: none;
}
}
table.table {
font-size: 12px;
}
</style>
<div class="container">
<div id="banner">
<div id="bird_large">
<img src="/images/dcache-banner.png" class="bird"></img>
</div>
<div id="sidebar-b">
<span class="dcache-nav-bar">
<a href="/index.shtml">home</a>
|
<a href="/news.shtml">news</a>
|
<a href="/manuals/index.shtml">documentation</a>
|
<a href="/downloads/IAgree.shtml">downloads</a>
|
<a href="/feedback.shtml">feedback</a>
|
<a href="/manuals/googlesearch.shtml">search</a>
|
<a href="/imprint.shtml">imprint </a>
</span>
</div>
</div>
<div id="content">
<div class="row">
<div class="page-header">
<h1>What's new in dCache 2.12<br/>
<small>The release notes</small></h1>
<address>
<strong>Authors</strong><br/>
Gerd Behrmann <[email protected]><br/>
Paul Millar <[email protected]>
</address>
</div>
## Executive summary
Hightlights from this release:
* New site description property to add local branding.
* Admin shell supports Ctrl-C to interrupt commands.
* Alarms service can share domains with other services.
* Improved attribute handling in Chimera.
* Shorter session identifiers.
* FTP and DCAP cell names are unique across restarts.
* Info provider publishes all global network interfaces.
* Improved login broker registration and SRM door selection, including
improved IPv6 support.
* Improved and more robust NFS proxy mode.
* On the fly checksum calculation for NFS and xrootd.
* Improved nearline storage Service Provider Interface for more
flexible drivers.
* Precomputed repository statistics in pools.
* HTTP and xrootd uploads block until post-processing completes.
* Reduced memory consumption in pools using Berkeley DB.
* Site specific srmPing attributes.
* Parameterized WebDAV templates.
* More uniform access logs.
* Localized timestamps in pinboard.
* Improved bash completion.
## Incompatibilities
* Java 8 is required for running dCache 2.12. Both the Oracle JDK and
OpenJDK are supported.
* The poolmanager.conf file should be regenerated using the `save`
command before upgrading.
* Instatiation of WAR files in the httpd service has changed. Custom
`httpd.conf` configurations will have to be updated.
* Local customizations to the WebDAV directory listing template will
likely have to be updated.
* Third party xrootd channel handler plugins from previous releases
are not compatible with dCache 2.12. Contact the vendor for updates
plugins.
* Local modifications to logback.xml should be reapplied to the
upstream version.
* The authorization rules for space reservations without an owner has
changed.
* The webadmin interface no longer provides access to the info service.
The same functionality is available through other httpd plugins.
* The xrootd mover now uses ports from the LAN port range by default.
Previous releases of dCache always used the WAN port range. Note
that the xrootd mover port range is configurable with this release.
## Release 2.12.41
### Changes affecting multiple services
Fixed an issue with the dcache heap `dump command` when called with a simple file name as the output path.
In this case the dump could in some cases be written to a different directory while the script claimed the dump had failed.
The dcache dump heap command has a `--force` option for cases in which the
JVM is unresponsive. This option was ignored for processes not running
as root.
This is fixed now.
### cells
A bouncing message bug in System cell is fixed.
### pnfsmanager
Setting atime-gap to -1 (default value) should disable file's last access time updates.
Nevertheless, this was not the case and atime update was always enabled.
This is fixed now and file's last access time can be disabled as described in the documentation.
### pool
Fix race condition in request scheduler.
### srm
The `ls -completed=n` command has been observed to fail with
SRMInvalidRequestException.
This is fixed now and the
output format of listing list requests has been changed to match that
of other requests.
### Changelog 2.12.40..2.12.41
<!-- git log 2.12.40..2.12.41 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[881c125](https://github.com/dcache/dcache/commit/881c1252e960c2ea932743900e7018e4850131b2)
: [maven-release-plugin] prepare release 2.12.41
[feba897](https://github.com/dcache/dcache/commit/feba89762907e0e4e1b0e77053167874994e3a1e)
: srm: Fix listing of completed list requests
[a2f72b2](https://github.com/dcache/dcache/commit/a2f72b24b8996537aac3a979dceb8c01f10c1ccb)
: dcache: fix heap dump to simple file names
[6fa86bf](https://github.com/dcache/dcache/commit/6fa86bf25f41aa769befa91287252ae727dd8388)
: script: Make dump heap --force work for non-root processes
[80d6737](https://github.com/dcache/dcache/commit/80d6737829242ba32ffe92e70c9c00ec3dc12dd6)
: srm: Do not expose TURL before request is ready
[199ec29](https://github.com/dcache/dcache/commit/199ec29d5582d96766c8f0686ff36fc75d72f92d)
: pool: Fix race condition in request scheduler
[73cbf17](https://github.com/dcache/dcache/commit/73cbf175cba7c2215eafccd0fd132a2c0b740560)
: billing: additional fixes to insert triggers
[eaaacca](https://github.com/dcache/dcache/commit/eaaaccaa85903a0c1c840f7e2bbedbb9f91af12d)
: system-test: update disposable-CA generated credentials
[2c42840](https://github.com/dcache/dcache/commit/2c42840e58b10ea24d5b7f77bfe176fbe6651f5e)
: pnfsmanager: fix atime update regression
[8ad5df0](https://github.com/dcache/dcache/commit/8ad5df0d1e97a765e2de1261988e0029d0e41cb2)
: cells: Avoid bouncing message on no-route errors in System cell
[b470500](https://github.com/dcache/dcache/commit/b470500057d76c8389314abc78039815ce5ead89)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.40
### many
When representing checksums in the admin interface and configuration files, checksums are now presented in an improved format.
### Changelog 2.12.39..2.12.40
<!-- git log 2.12.39..2.12.40 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[5b217ac](https://github.com/dcache/dcache/commit/5b217ac516d235706539a53584846b21bebb2688)
: [maven-release-plugin] prepare release 2.12.40
[e02ef32](https://github.com/dcache/dcache/commit/e02ef32891bc4695b504db690e0c9c1c4abd683f)
: common: fix ChecksumType.toString()
[1de77dd](https://github.com/dcache/dcache/commit/1de77dd6817e70b48442b06c34deed0907b25fc4)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.39
### pool
The nearline storage subsystem has a thread pool for various tasks. Some
of these tasks are blocking. Since the
thread pool is unlimited, a high inflow of new requests can cause the
thread pool to grow rapidly and even exceed thread limitations. In that
case the pool dies.
In the current release a new `pool.limits.nearline-threads` property is introduced
which allow to limit the number of threads used by the nearline storage subsystem. Note that, the default is
30 threads.
### Changelog 2.12.38..2.12.39
<!-- git log 2.12.38..2.12.39 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[e2d6cba](https://github.com/dcache/dcache/commit/e2d6cba86d2db721ba380b89b002f9f31e68727a)
: [maven-release-plugin] prepare release 2.12.39
[3d71337](https://github.com/dcache/dcache/commit/3d713373e5f3f358f4e0b913a95a4990e043b45f)
: pool: Fix regression breaking hopping mananger
[e0a1ea8](https://github.com/dcache/dcache/commit/e0a1ea8b4f982c22f0f3cdf199e578f65c2bebec)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.38
### cells
LoginManager would occasionally generate error messages similar to "Discarding listening on $LOCATION 53684' because its age of 18721640 ms exceeds its time to live of 4500 ms.". This was due to erroneous reuse of old message envelopes in the internal messaging. This change fixes that problem.
This change addresses a potential problem in which messages sent between cells in the same domain could appear older than they are and thus would risk being discarded due to the time-to-live being expired.
### srm
A Tier-1 site reported problems with a major WLCG VO's read requests. Investigating the source of the problems showed that the srm_ifce library, used by the (outdated) GFAL v1 and the (supported) GFAL v2 SRM libraries, drastically limits the permitted lifetime of requests without providing admins any way to configure this.
For sites seeing errors related to desiredTotalRequestTime being exceeded, this change provides the new configuration option srm.request.maximum-client-assumed-bandwidth in srm.properties as a work-around.
Sites not observing such errors do not need to change anything with regard to this value.
### Changelog 2.12.37..2.12.38
<!-- git log 2.12.37..2.12.38 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[c872817](https://github.com/dcache/dcache/commit/c872817bf126c070667ee73e704b411886ebbf8c)
: [maven-release-plugin] prepare release 2.12.38
[26a2595](https://github.com/dcache/dcache/commit/26a2595c3b95fa50ddfba38c5125259fd8609c92)
: srm: add short request lifetime work-around
[eed1247](https://github.com/dcache/dcache/commit/eed12471c76588bd03c6978b73fa4f70b8e8225d)
: chimera: Fix regression in inheriting ACLs on directory creation (HSQLDB)
[8b09975](https://github.com/dcache/dcache/commit/8b0997550d5557fd69d39e58ba201074092fb37d)
: cells: Improve robustness of message time to live
[81e2610](https://github.com/dcache/dcache/commit/81e2610c2919c07d935622494876df29923faad0)
: cells: Fix erroneous reuse of message envelope in location manager registration
[9a085f1](https://github.com/dcache/dcache/commit/9a085f1d68d0a4c97d7935e5e5dbb3e00afd0b00)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.37
### pnfsmanager
Billing entries for SRM uploads recently lost the storage class part of the entry. This update fixes that issue.
### poolmanager
This modification fixes a potential race condition in pool manager.
### webdav
This modification corrects the error reporting under WebDAV. When attempting to delete a non-existing file, unauthenticated users receive a 401 Unauthorized response, while authenticated users receive a 404 Not Found response.
### Changelog 2.12.36..2.12.37
<!-- git log 2.12.36..2.12.37 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[73b31fe](https://github.com/dcache/dcache/commit/73b31fe69749034c9a31898b5061fe9b3b7280ff)
: [maven-release-plugin] prepare release 2.12.37
[2e08c79](https://github.com/dcache/dcache/commit/2e08c79c4c37288b2351bfa34016de7505667780)
: pnfsmanager: Fix regression in SRM billing entries
[21b78f3](https://github.com/dcache/dcache/commit/21b78f36bbe1c38e774ffa3a050689a1cbe36e06)
: poolmanager: Fix race condition in pool selection unit
[5d3ae1a](https://github.com/dcache/dcache/commit/5d3ae1acc7766b086f35d50999d726d37a22af57)
: webdav: fix 404 error if attempting to delete a nonexistent file
[f180f26](https://github.com/dcache/dcache/commit/f180f26ea87d24d2777713caf3254e6853743eea)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.36
### pnfsmanager
With this release, PnfsManager adds safety checks rejecting invalid upload paths that SRM might erroneously supply. This release hardens an installation against possible bugs triggering data loss.
This release adds a check that detects failed or incomplete SRM uploads and prevents the file from being committed to its final path. Common symptoms of this bug were zero sized files that experiment catalogues registered as successfully uploaded.
### srm
This release adds a check to detect broken uploads using SRM during the final stage of file transmission. While it causes transfers to take a little more time, resilience against upload failures is increased.
### Changelog 2.12.35..2.12.36
<!-- git log 2.12.35..2.12.36 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[403ccef](https://github.com/dcache/dcache/commit/403ccefa177bd9ddd4407ce7b57f01265f323970)
: [maven-release-plugin] prepare release 2.12.36
[5fbf2f2](https://github.com/dcache/dcache/commit/5fbf2f2818ecb70e0070683d880ec2d0ced72260)
: srm: Check for broken files during srmPutDone
[3a0e35d](https://github.com/dcache/dcache/commit/3a0e35d525b76a16e467dc635100e6ab86f246f5)
: pnfsmanager: Check file size and upload completion when committing temporary upload paths
[5933fa2](https://github.com/dcache/dcache/commit/5933fa2e5f0945020d006caac0d03c739e21f236)
: pnfsmanager: Protect against erroneous upload paths
[f870a4c](https://github.com/dcache/dcache/commit/f870a4cded14e53bf0ba46c3587ac195ab899b64)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.35
### Changes affecting multiple services
Several cases of slow performance were reported while deleting
directory in Chimera. This is now fixed.
### alarms
On heavily loaded systems creating alarms at very high frequencies and
with comparatively slow databases for alarm logging, components ran
out of memory and blocked. This release introduces a mechanism that
will drop alarm messages that would cause the system to fail, ensuring
continued operation. Note that no messages that are critical to system
operation will ever be dropped by this change.
### pool
When command execution to migrate files between pools (e.g. `migration
concurrency` or `migration copy`) is interrupted due to the failure to
find migration job the returned error message is considered as a bug.
This is now fixed so that a new message is returned indicating that
the job being requested does not exist.
### srm
When file upload is cancelled the value of temporary upload path
tracked by SRM could be a value different from a regular path, either
because it was changed outside of dCache, or it contains entries from
a very old version of dCache. This could result in data loss while
canceling upload. The current release fixed a potential data loss
scenario.
### statistics
The statistics service creates static HTML pages that describe dCache
usage over time as simple files that the webadmin service can
serve. This includes information about pools and store-units. The
problem is that the statistics webpages do not show information about
any pool or store-unit that contains a `/` in the name. This is now
fixed. A side-effect is that the history of any pool or store-unit
containing a `^` in the name is lost.
### Changelog 2.12.34..2.12.35
<!-- git log 2.12.34..2.12.35 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[80e19a0](https://github.com/dcache/dcache/commit/80e19a0b0f482b1702c84efc659e0695cb9f7542)
: [maven-release-plugin] prepare release 2.12.35
[f4ef746](https://github.com/dcache/dcache/commit/f4ef74668783242b73c4d9c6f501489f41a738d7)
: chimera: Alter statistics target for t_tags(itagid)
[48f67ab](https://github.com/dcache/dcache/commit/48f67ab96bf414f5428a3d917926742200817cd5)
: srm: Add safe-guard against invalid file ID in put requests
[f6e25e6](https://github.com/dcache/dcache/commit/f6e25e63dff96af2ecd6c383286001a7fae5dcb1)
: pool: Don't consider failure to find migration job a bug
[3456532](https://github.com/dcache/dcache/commit/3456532b94a975ee02c3f1bac2d4983249432f99)
: statistics: encode '/' in filenames
[0996385](https://github.com/dcache/dcache/commit/0996385614f5d6b0464b953ee43bd5d423e38c73)
: 2.12 alarms: change executor to have bounded queue and discard events on overrun
[0b1ceec](https://github.com/dcache/dcache/commit/0b1ceecf96a4dd82b9dcd3f22f4ff3a09dcaac08)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.34
### alarms
On heavily loaded systems creating alarms at very high frequencies and with comparatively slow databases for alarm logging, components ran out of memory and blocked. This release introduces a mechanism that will drop alarm messages that would cause the system to fail, ensuring continued operation. Note that no messages that are critical to system operation will ever be dropped by this change.
### nfs
Pinning files is now a non-blocking operation. For files stored on tape, this should result in a more responsive system behaviour, avoiding NFS blocking in situations with many concurrent pin requests.
### Changelog 2.12.33..2.12.34
<!-- git log 2.12.33..2.12.34 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[3244337](https://github.com/dcache/dcache/commit/32443376b64d85eace9b563f85adf8bb9eb906c0)
: [maven-release-plugin] prepare release 2.12.34
[d939fe24](https://github.com/dcache/dcache/commit/d939fe245b9f274e1778d7643b15a21f5757b716)
: Revert "(2.12) alarms: change executor to have bounded queue and discard events on overrun"
[d077daa](https://github.com/dcache/dcache/commit/d077daaeb9a40d06a1bf11edef82e1ec1362883b)
: (2.12) alarms: change executor to have bounded queue and discard events on overrun
[02f9d10](https://github.com/dcache/dcache/commit/02f9d1046aae728d21baa6741d985a8c6d32ad47)
: adjust commit 5acde923f467ec3e391988ecd1dac05163dbbb1b to 2.12 branch code
[5acde92](https://github.com/dcache/dcache/commit/5acde923f467ec3e391988ecd1dac05163dbbb1b)
: nfs: use noitify instead of blocking sendAndWait when sending pin/unpin messages via touch ".(get)(<file_name>)(pin)" command
[beadc49](https://github.com/dcache/dcache/commit/beadc49e588e0bf34156c65ec4ca542644c481c7)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.33
### Changes affecting multiple services
Sometimes when a cell start up was interrupted an error message was logged as a bug. This is now fixed.
### info-provider
The GLUE infomation provider supplies information about the dCache instance, which is important for the clients in WLCG area.
Because in dCache different doors can have different roots, clients may need to adjust their path when accessing dCache through different doors.
The info-provider is updated so that a new **path root** property is provided. This allows clients to modify paths, as necessary. Note that
the SRM door already supports this translation when redirecting clients for transfers.
### Changelog 2.12.32..2.12.33
<!-- git log 2.12.32..2.12.33 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[55c72df](https://github.com/dcache/dcache/commit/55c72df4df044584f8397ae785729f57290f0d72)
: [maven-release-plugin] prepare release 2.12.33
[1dabddf](https://github.com/dcache/dcache/commit/1dabddf2e64d58ca470a3668c643b144f9ab06a1)
: info-provider: publish door root path
[c521c20](https://github.com/dcache/dcache/commit/c521c20ea43aa793b47ce8ff9f6ed6cbf92f3fd3)
: cells: Suppress illegal state exception during initialization
[b925d7a](https://github.com/dcache/dcache/commit/b925d7af322d4b2e1f02b7d41790badf89d3a4e5)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.32
### spacemanager
Spacemanager backs off when it encounters a problem writing to the
database. Previously, if the problem was due to deadlocks then the
two tasks involved are delayed by the same amount, which means it is
possible that subsequent attempt will also deadlock. This release
randomises the delay to reduce the likelihood of this problem
occuring.
### Changelog 2.12.31..2.12.32
<!-- git log 2.12.31..2.12.32 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[a6ae924](https://github.com/dcache/dcache/commit/a6ae9244a192ab05fefa0d7a7ac4a69058ce3e2e)
: [maven-release-plugin] prepare release 2.12.32
[f828a77](https://github.com/dcache/dcache/commit/f828a77fc13ec174f8bf871fc44b3d8251959f8e)
: spacemanager: Randomize backoff in case of transient errors
[995bb3a](https://github.com/dcache/dcache/commit/995bb3a4c7461376cb13a980f341cb063b583944)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.31
### pool
This release fixes a bug that caused the output of the `rep ls -s`
admin command to contain negative values.
### xrootd
Fix dCache handling of open requests where uploads were considered
downloads.
### Changelog 2.12.30..2.12.31
<!-- git log 2.12.30..2.12.31 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[80f1481](https://github.com/dcache/dcache/commit/80f14813df2fc4535cd97fe8ff86ea3cdfbd309c)
: [maven-release-plugin] prepare release 2.12.31
[339e39b](https://github.com/dcache/dcache/commit/339e39b322abce51de8603a5227d3f7e921b7a45)
: Revert "pool: Expose Berkeley DB configuration as dCache properties"
[c087a98](https://github.com/dcache/dcache/commit/c087a981a7af5e001c903f761400c1394d7cad7c)
: xrootd: Fix classification of uploads
[d0c9c32](https://github.com/dcache/dcache/commit/d0c9c326ef39c908a7037d5bd9f212767a05d1c1)
: pool: Expose Berkeley DB configuration as dCache properties
[7db91b3](https://github.com/dcache/dcache/commit/7db91b33a244b07eedce39fb13a8826b1465012c)
: pool: Fix accounting error in repository statistics
[29afb53](https://github.com/dcache/dcache/commit/29afb5314711994e57e67b53261ef307f41a3e62)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.30
### Changes affecting multiple services
Don't log `Error while reading from tunnel:
java.nio.channels.AsynchronousCloseException` when a domain shuts
down.
### Changelog 2.12.29..2.12.30
<!-- git log 2.12.29..2.12.30 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[788a8fb](https://github.com/dcache/dcache/commit/788a8fbeccdef13468a4bb041370a80fc2a54d35)
: [maven-release-plugin] prepare release 2.12.30
[dd3522b](https://github.com/dcache/dcache/commit/dd3522b918252247979e3314c61750845e856858)
: cells: Don't log AsynchronousCloseException when tunnel closes
[e38c4ac](https://github.com/dcache/dcache/commit/e38c4acbd6e5a91b6ca10892c25f4bcbbfcbaaed)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.29
### Changes affecting multiple services
Update the Spring, Milton, AspectJ, Jetty and DataNucleus-core
libraries to latest version. All dCache services are affected.
### pool
If a 3rd-party transfer fails then the pool may log and report
incomplete information on why this happened. This release fixes this
problem.
### Changelog 2.12.28..2.12.29
<!-- git log 2.12.28..2.12.29 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[94cca4f](https://github.com/dcache/dcache/commit/94cca4f0d7fcda0f87b72806b5d9e07863402f27)
: [maven-release-plugin] prepare release 2.12.29
[169868f](https://github.com/dcache/dcache/commit/169868fc89aee4a363e20c98e87dbaadcdd109a6)
: 2.12: upgrade third party dependencies
[996d442](https://github.com/dcache/dcache/commit/996d4423ed8b10326d3cb39d44a201ef1ad541ab)
: http-3rd-party: ensure IOException logged with toString
[2553f06](https://github.com/dcache/dcache/commit/2553f06c878ab7a6cc1e5b5d5cb5ff7e4e16544a)
: info: fix test to be less critical on timing
[f39b002](https://github.com/dcache/dcache/commit/f39b002ef490f754d3505517e5ebf590fb9b8a3c)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.28
### pool
Add new options to the `rep set sticky` command to allow filtering by
access-latency, retention-policy, storage class and cache class.
Add an option to migration module to support filtering by cache class.
Add the `-meta-only` option to migration module. This limits the
affected replicas to those where the file's data is not transferred;
i.e., the target is some existing replica of the file. Local replicas
that do not exist on any other pool are skipped.
Extend the migration module's `-sticky` option to allow negated
selection. This is marked by prefixing the sticky owner with a `-`.
For example, `-sticky=-system` selects replicas that do not have the
`system` sticky.
Fix persistency of the sticky bits. Should a replica's list of sticky
bits be modified by either the `rep set sticky` command or the
migration module modifying some existing replica then the sticky flags
are held in memory but not written to the Berkeley DB. The next
restart of the pool will loose that information, potentially resulting
in data loss. Pools that store metadata as files are not affected.
### poolmanager
Previous releases of dCache contained a bug where replicas generated
by pool-to-pool copies failed to include the access latency and
retention policy. While not directly affecting dCache operations, the
result is that this information is no longer reliable.
### spacemanager
Fix listing by PNFS-ID. Glob support is removed as it was
non-functional.
### Changelog 2.12.27..2.12.28
<!-- git log 2.12.27..2.12.28 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[0b51fad](https://github.com/dcache/dcache/commit/0b51fadb19e3eec5daa79d9ebd85548079319215)
: [maven-release-plugin] prepare release 2.12.28
[6ec95f2](https://github.com/dcache/dcache/commit/6ec95f270d53097cc6095eddca6e2769b7434c89)
: pool: Do not output expired sticky flags
[5d5b399](https://github.com/dcache/dcache/commit/5d5b3998c8358b85068d3d56c16ed6bdbfeb23d4)
: pool: Only save sticky bits if not already set
[1d1396a](https://github.com/dcache/dcache/commit/1d1396aa4361ce281e3db2635e0e79f7fc4f97a7)
: poolmanager: Fix missing access latency and retention policy on pool to pool copy
[2f1c917](https://github.com/dcache/dcache/commit/2f1c9173028874cc03b7fa8dd359686fcd198229)
: pool: Make bulk sticky bit operation robust against repository changes
[6765f35](https://github.com/dcache/dcache/commit/6765f3554f8c8dbd67b2b635a8f1aaee25670504)
: pool: Throw IllegalArgumentException on rep set sticky errors
[f45c4f1](https://github.com/dcache/dcache/commit/f45c4f15e64f0ad36cd216ad1944f96125c98593)
: spacemanager: Fix listing by pnfs id
[80a2299](https://github.com/dcache/dcache/commit/80a22995200f91500c8ab3da820dbd978b113f71)
: pool: Extend migration module with -meta-only option
[3d3d115](https://github.com/dcache/dcache/commit/3d3d115a0e151028328b9ba22c5e6abd7f291789)
: pool: Add option to migration module to filter by cache class
[5a773c8](https://github.com/dcache/dcache/commit/5a773c8a3e2feb87323b1adfff804e2be8c4d770)
: pool: Add bulk mode for rep set sticky command
[40cfaa8](https://github.com/dcache/dcache/commit/40cfaa8c2033f06ce7c7c6b35e62300d0410d427)
: pool: Add migration option to filter by absense of sticky flags
[ed33d6a](https://github.com/dcache/dcache/commit/ed33d6ad1604841c0b13c839aa386d63eb1a8121)
: pool: Fix persistence of sticky bits
[17919de](https://github.com/dcache/dcache/commit/17919de2d4e7c20d51306450067f4da1657bd348)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.27
### Changes affecting multiple services
This release fixes a caching issue where changes to inode metadata
(e.g., ownership or permissions) for `/` (the root directory of
Chimera) are not visible until the service is restarted. This affects
NFS doors and pnfsmanager service.
### Changelog 2.12.26..2.12.27
<!-- git log 2.12.26..2.12.27 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[691ac98](https://github.com/dcache/dcache/commit/691ac98b853d7817b4f05139da8cf581a0b9f4bd)
: [maven-release-plugin] prepare release 2.12.27
[1c5eeae](https://github.com/dcache/dcache/commit/1c5eeae253b81bca7470bc14cc72c76ef149dc25)
: chimera: Prevent filling of stat cache of root inode
[79d2825](https://github.com/dcache/dcache/commit/79d28255b9cde32958c27fe01865914728b26fb8)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.26
### Changes affecting multiple services
The chimera library, used by PnfsManager and NFS, contains possible
race conditions that can lead to a NullPointerException. These are
updated so that Chimera gives the correct error message under these
circumstances.
The chimera library, used by the pnfsmanager and nfs services,
contains a bug where two near-simultaneous attempts to delete a
hitherto empty directory and write a file into the same directory will
both succeed but leave an orphaned file: it exists in the `t_dirs`
table but the parent does not exist in `t_inodes` table. This seems
to be triggered when an ftp door fails with `no write pool
configured`. This release fixes this problem.
### pnfsmanager
Fix the error message (logged by the domain hosting pnfsmanager) if an
attempt to finalise an SRM upload fails within pnfsmanager, or if an
attempt to cancel an SRM upload fails within pnfsmanager.
### poolmanager
When reporting an alarm that a pool is declared DOWN, the message
mistakenly omitted the name of the pool. This is now fixed.
### webdav
Update to the latest version of milton.
### xrootd
Update the `alice-token` plugin to allow the host name check to
succeed on dual-stack (IPv4 and IPv6) machines.
Fix door so that it no longer logs: `An exceptionCaught() event was
fired, and it reached at the tail of the pipeline. It usually means
the`
`last handler in the pipeline did not handle the exception.`
Log initial response (usually that an asynchronous reply is
forthcoming) when client attempts to open a file.
When authenticating with the GSI plugin, provide an informative
message if the host private key file cannot be understood.
### Changelog 2.12.25..2.12.26
<!-- git log 2.12.25..2.12.26 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[09294f5](https://github.com/dcache/dcache/commit/09294f5aadbd48b390c91f5aeea1f93f0c0e0dab)
: [maven-release-plugin] prepare release 2.12.26
[e89ad32](https://github.com/dcache/dcache/commit/e89ad3217f06b3c253e1aeff8a368fd644025465)
: xrootd: Update alice token plugin to fix IPv6 compatibility
[fb1caf4](https://github.com/dcache/dcache/commit/fb1caf484a50902a1ffc3c8d6c7e03f7ca905833)
: xrootd: Upgrade to xrootd4j 2.1.3
[898aca3](https://github.com/dcache/dcache/commit/898aca386af566954d4d176f0ebbfaa7b1d9ea42)
: chimera: Detect races in directory deletion
[e6c1eba](https://github.com/dcache/dcache/commit/e6c1eba915931b27c0c6afdf64f139336b13d1ad)
: chimera: Detect races during move
[5d4ddf3](https://github.com/dcache/dcache/commit/5d4ddf3972cb450eaef265f64bedb20711077f9f)
: xrootd: Fix logging of Netty exceptions
[5458879](https://github.com/dcache/dcache/commit/5458879ff597a8e9da735f2e9b287c70a0bffd4b)
: webdav: update to latest milton
[616006f](https://github.com/dcache/dcache/commit/616006f1cdc7779c064fbc2bfe85fc5edd7b2b3e)
: PnfsManager: remove copy-n-paste error in error message
[7a96427](https://github.com/dcache/dcache/commit/7a96427c6089a4c6628283d7df7bd9d431567259)
: (2.12) pool manager: add pool name to alarm
[62bcade](https://github.com/dcache/dcache/commit/62bcadee07ea830e8098383ff727e314d0d961dc)
: system-test: Fix grid-security settings
[cd09ca4](https://github.com/dcache/dcache/commit/cd09ca4f8294bc5b24e7750f122d7d14d528ef25)
: rpm: enforce SL5 compatibility when building RPM packages
[f281635](https://github.com/dcache/dcache/commit/f281635da3830a90ba76e720131735eb92cc0860)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.25
### Changes affecting multiple services
Eliminate race condition that can lead to a NullPointerException if a
cell does not shut down cleanly.
The `dcache` script no longer checks whether the `hostkey.pem` file is in
PKCS#8 format when `dcache stop` is invoked. Previously this could lead
to orphaned dCache domains; for example, when upgrading dCache RPM.
### admin
Fix potential IndexOutOfBoundsException should the response from the
`acm` cell be malformed.
### alarms
Update the text format of logged and emailed alarms so that messages
include the type of alarm rather than simply the phrase `ALARM [
ALARM_TYPE ]`. Note that the `alarms.email.encoding-pattern` and
`alarms.history.encoding-pattern` properties have been updated; sites
that have modified either of these properties must review their
configuration to take advantage of this update.
### pool
Fix an intended pool-to-pool transfer optimisation: the receiving pool
failed to reuse a delayed mover, should the pool-to-pool request
timeout and be retried.
Fix pools so that they do not log NullPointerException if a pool
receives a request to restore a file from an HSM to which it has no
access.
### Scripts
Fix how the `writedata` command in the `chimera` shell accepted data:
the command-line argument was ignored if supplied and data was taken
from stdin, if no argument was supplied then the command would fail
with NullPointerException. ***Note***: this command does NOT write
data into dCache, but into Chimera.
### srm
Fix the context information included when logging failures to write
job information to the database.
### Changelog 2.12.24..2.12.25
<!-- git log 2.12.24..2.12.25 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[d1470ff](https://github.com/dcache/dcache/commit/d1470ff9ad1c7ec8825c744a8845c0771cd766b2)
: [maven-release-plugin] prepare release 2.12.25
[2e127dc](https://github.com/dcache/dcache/commit/2e127dc9d680dd567cd5b8313880372689abe8c7)
: srm-client, dcache: fixed passing incompatible arguments to functions
[9895474](https://github.com/dcache/dcache/commit/989547442ada7a59914baf2384a7a9fb5533f9e2)
: dcache: removed unecessary use of non-short-circuit logic
[aae27f0](https://github.com/dcache/dcache/commit/aae27f0cb0f7399cfff8b0482c5b62cbc678b711)
: (2.12) alarms: modify logback encoding to show actual alarm type
[cb1ad93](https://github.com/dcache/dcache/commit/cb1ad9393de6c60a531f4f9847697c9befa2d68a)
: pool: Fix NPE when restoring file
[4b5c2c3](https://github.com/dcache/dcache/commit/4b5c2c39654c94081c781bc47e7049ba7456a2f9)
: scripts: do not check for PKCS#8 formatted hostkey.pem on shutdown
[68ad142](https://github.com/dcache/dcache/commit/68ad14252842beb1a734857db34cd11368fe6fcd)
: chimera: Null value passed to non-null parameter in org.dcache.chimera.cli.Shell$WriteCommand.call()
[83ae856](https://github.com/dcache/dcache/commit/83ae8564d32dc8407c51b93407d31eac50015968)
: srm: Use correct logging context when saving jobs
[89c2cb3](https://github.com/dcache/dcache/commit/89c2cb3717ae723f419f445208aa9af1735b6b53)
: cells: Fix NPE during shutdown
[62e26c4](https://github.com/dcache/dcache/commit/62e26c40809c46c3ae4e74b6304d4a96ead8afcc)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.24
### Changes affecting multiple services
When starting up, all doors (dcap, ftp, nfs, srm, webdav, xrootd) and
pools advertise their presence to other dCache components before they
are able to handle incoming requests. This can lead to subsequent
queries timing out as the service finishes starting up. With this
version of dCache, doors and pools only advertise their presence once
they can handle incoming requests.
### pool
This release updates how dCache configures the Berkeley DB when used
for storing pool metadata. In addition, dCache will now no longer
disable the pool when suffering a Berkeley DB-related problem if the
Berkeley DB environment is still valid. Combined, these two changed
should greatly reduce the occurances of pools disabling themselves
when under heavy IO load.
### Changelog 2.12.23..2.12.24
<!-- git log 2.12.23..2.12.24 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[565ad27](https://github.com/dcache/dcache/commit/565ad279cc91dad9dfe2b34fb7d21fbf162bd032)
: [maven-release-plugin] prepare release 2.12.24
[deba764](https://github.com/dcache/dcache/commit/deba764a13790f6c413954dece1cef98f8d4688f)
: pool: Refine Berkeley DB failure handling
[0a2e281](https://github.com/dcache/dcache/commit/0a2e281cd1914f071eb51e4652a7ce07764ac63d)
: Don't announce cells to other services until they have started
[7a02965](https://github.com/dcache/dcache/commit/7a02965de7eef9635ed2beb71e70ff05fa93c645)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.23
### Changes affecting multiple services
The `ftp`, `webdav` and `xrootd` doors will delete the target file if
an upload was unsuccessful. The copy manager (part of the
`transfermanagers` service) has a similar behaviour if an internal
copy is unsuccessful. If this delete was unsuccessful (e.g., the
client deleted the file itself) previous dCache versions would log
this at `ERROR` level. With this dCache version, such occurrences are
logged at `DEBUG` level.
### nfs
Fix race condition that can occur when a pool is first accepting pNFS
transfers if multiple requests are processed almost simultaneously.
### webdav
Adds support for the Robots Exclusion Standard (`/robots.txt`). The
default advice is that web-crawlers should avoid indexing all content
in dCache.
The webdav door has separate configuration allowing the admin to
configure the door-local path that contains site-local files and the
URI prefix to access those files. Earlier versions of dCache
mistakenly used the former for the latter, which this release fixes.
### Changelog 2.12.22..2.12.23
<!-- git log 2.12.22..2.12.23 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[9ae334c](https://github.com/dcache/dcache/commit/9ae334c0f4f1d9937ce4423059f1b3e7e9c289ab)
: [maven-release-plugin] prepare release 2.12.23
[21358b4](https://github.com/dcache/dcache/commit/21358b4481dd77d9629f4b67122176c52f86865c)
: webdav: Respect webdav.static-content.uri property
[69c7947](https://github.com/dcache/dcache/commit/69c794766109f772988abee3e2555fc33a7dafb4)
: doors: Do not log failure to delete absent files on upload failures:
[6425229](https://github.com/dcache/dcache/commit/64252295ab8d7168e419c930182be51f9a590497)
: nfs4: fix race in request processing
[51380b6](https://github.com/dcache/dcache/commit/51380b66dd3c52beb82ab8aba032dfb1d6c5a17b)
: webdav: Add robots.txt
[6b7db97](https://github.com/dcache/dcache/commit/6b7db97c8a64b4d6d69731f9801e7fa45066f66b)
: [maven-release-plugin] prepare for next development iteration
## Release 2.12.22
### Changes affecting multiple services
In earlier versions of dCache, the code-base would always establish a
node's FQDN through a DNS query on start-up. For some services and
for dCache scripts (for example, the `chimera` script), this
information is not used. With this release, dCache only makes the DNS
query when it is necessary, so domains hosting services that do not
need this information and scripts will start faster.
### dcap
Doors describe their root path to SRM so it can calculate appropriate
TURLs. Previous versions of dCache had dcap doors register incorrect
paths, which this release fixes.
dCache configuration allows an admin to control if certain ciphers are
allowed. In particular, this allows sites to remove support for
problematic ciphers or hashing algorithms. This release fixes a
problem where the GSI-dcap door failed to honour such settings.
### pool
The replica-manager periodically requests a list of file replicas that
a pool is hosting. In previous versions of dCache, if the pool finds