-
Notifications
You must be signed in to change notification settings - Fork 3
/
release-notes-2.9
3531 lines (2396 loc) · 142 KB
/
release-notes-2.9
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.9 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">
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.9<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
* Reduces chimera overhead on file creation and file open.
* New database connection pool for more robust database interaction.
* Supports NFS 4 (without parallel NFS)
* DCAP clients can now be forced to do I/O through a mounted NFS 4 file system.
* Much improved performance and standard compliance for NFS 4.
* Improves support for meta data in FTP.
* Improves FTP client compatibility.
* Implements FTP delayed passive, allowing IPv6 FTP transfers without proxying.
* New pool manager partition for transfer buffers (e.g. import and export pools).
* Improves ROOT compatibility for HTTP access.
* GridSite delegation support for SRM.
* Unique TURLs for SRM upload for improved error handling.
* Improves transfer protocol negotiation for SRM.
* Reduces impact of SRM restart.
* Improves protocol support for xrootd.
* More flexible tape integration.
## Incompatibilities
* The `spacemanager` database schema has changed. Changes are
automatically applied after upgrade. Downgrade is not possible
without rolling back the schema changes. See the section on the
`spacemanager` service for details.
* The `chimera` database schema has changed. Changes are automatically
applied during upgrade. Downgrade is not possible without rolling
back the schema changes. See the section on _chimera_ for details.
* The new property `dcache.upload-directory` may have to be defined on
upgrade. Read the section on the `srm` service for further details.
* Third party plugins that provide custom service definitions may have
to be updated to be compatible with dCache 2.9.
* SRM uploads that are not finalized by submitting a `srmPutDone` will
be deleted. The `srmPutDone` message is required by the SRM standard
and standard compliant clients will not have a problem with
this. The file is not available for reading until `srmPutDone` has
been issued.
* IPv6 support is enabled by default.
* Tape integration was rewritten. Classic HSM scripts continue to be
supported, however the pool setup file should be regenerated after
upgrade. See the section on the `pool` service for details.
* The HSM cleaner is enabled by default.
## Release 2.9.27
### Changes affecting multiple services
dCache uses a standard format to monitor the performance of various
components: in the srm door to record how quickly SRM requests are
processed (`print srm counters` command), the generic cell message
monitoring (`monitoring info` command), and pnfsmanager service (the
"Statistics" section in `info`). This release fixes a rounding error
that prevents these statistics from including long-lived requests.
### pinmanager
The pinmanager service has the `ls` command that allows the admin to
limit the results to a specific pin or all pins against some PNFS-ID.
This release fixes listing by pin id.
### srm
This release fixes the srm service so it cancels corresponding
pinmanager requests when an SRM client aborts a bring-online request.
### Changelog 2.9.26..2.9.27
<!-- git log 2.9.26..2.9.27 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[cf4affe](https://github.com/dcache/dcache/commit/cf4affeacddee14ef3e158f9fdd79f5f2a3ee3f5)
: [maven-release-plugin] prepare release 2.9.27
[3e12a3b](https://github.com/dcache/dcache/commit/3e12a3b3775972d53e9651cd512720a1fafc25b7)
: common: Fix division by zero regression in gauges
[71adc02](https://github.com/dcache/dcache/commit/71adc027946bcae2c860d3ff172e866de983a567)
: common: Fix rounding error in request gauge
[7bfd5c7](https://github.com/dcache/dcache/commit/7bfd5c73d2533bfab61efc939ef286f41caab48f)
: srm: Abort pinning when cancelling bring-online requests
[7d8dff4](https://github.com/dcache/dcache/commit/7d8dff4fdb1d3e2190a98d6b9dab746e0bd91547)
: pinmanager: Fix listing by id
[ccaba7e](https://github.com/dcache/dcache/commit/ccaba7e6cdf659e356e8491e5af0059bd6301c41)
: system-test: add missing dCache disposible CA certificate
[0098f1d](https://github.com/dcache/dcache/commit/0098f1ddf0934732504e6a143e121b7dc6f43ef1)
: system-test: add regenerated host and user credentials
[bfef06f](https://github.com/dcache/dcache/commit/bfef06f16d4be6257e2de5fe2fc7cd5a115f9268)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.26
### dcap
Update dcap door to avoid possible NullPointerException when describing
an error to the client.
### Changelog 2.9.25..2.9.26
<!-- git log 2.9.25..2.9.26 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[047ce71](https://github.com/dcache/dcache/commit/047ce716df5accb5576c63a16729b1f8a8c8e59a)
: [maven-release-plugin] prepare release 2.9.26
[a397d8a](https://github.com/dcache/dcache/commit/a397d8aa3184164af586de302239bb751f5623b5)
: dcap: do not call toString() on error object
[250326f](https://github.com/dcache/dcache/commit/250326fa22b6ca67ff70915d05da53a6596f36c7)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.25
### pool
When a client reads a file, the pool reads blocks of data from the
local filesystem. When reading such a block, the pool could receive
fewer bytes than requested. Previously, the pool assumed that this
only happens when the end-of-file is reached; however, this is not
guaranteed. Should this assumption be violated then the data sent to
the client will be corrupt. In practise, the pool's assumption is
true for Linux and local filesystems; however, the code has been
updated to remove this theoretical cause of corruption.
### Changelog 2.9.24..2.9.25
<!-- git log 2.9.24..2.9.25 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[38602db](https://github.com/dcache/dcache/commit/38602db218075b0af92a8335c619b8eb668ed332)
: [maven-release-plugin] prepare release 2.9.25
[65fe614](https://github.com/dcache/dcache/commit/65fe6148a88b59972122631a9f50ef68f17706d0)
: pool: Fix read corruption in HTTP mover
[5cdae6e](https://github.com/dcache/dcache/commit/5cdae6e30aca24d05475fd6cc2c3933661a06a7d)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.24
### Changes affecting multiple services
If a bug is found in dCache then it should be logged. For the older
admin commands, an uninformative message was logged.
Previously, if a bug was discovered when starting up a service dCache
would abort starting up with a non-informative log message. Now, the
stack-trace is logged.
### pnfsmanager
When writing into dCache with SRM, the Access Latency (AL) and
Retential Policy (RP) may be specified or omitted. Additionally, the
client may specify a space reservation into which the file should be
written. If the client specifies both, they must match.
In dCache, there are three mechanisms to support a client that
specifies neither AL/RP nor space reservation: the directory can have
`AccessLatency` and `RetentialPolicy` tags, the directory can have the
`WriteToken` tag, there are a system-wide default AL/RP values.
Previously, dCache would reject uploads where the user-supplied AL/RP
information does not match the AccessLatency/RetentialPolicy tags,
despite the latter being intended as default values.
With this release, if the client specifies neither space token, AL or
RP then the directory tags will be used. If a directory specifies
both `WriteToken` and `AccessLatency`/`RetentionPolicy` tags, then
these have to be consistent. If the directory conains a `WriteToken`
tag and the client specifies AL/RP, then the client specified values
have to be consistent with the `WriteToken` tag.
### pool
When attempting to upgrade non-precious and non-cached files (e.g. a
file marked `broken`), the receiving end of the migration module would
answer twice: first (correctly) with a failure and then (incorrectly)
with a success. This is now fixed.
### Changelog 2.9.23..2.9.24
<!-- git log 2.9.23..2.9.24 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[a51dd3a](https://github.com/dcache/dcache/commit/a51dd3a27ac2a860f7682fc4970077071264b098)
: [maven-release-plugin] prepare release 2.9.24
[5d6fd19](https://github.com/dcache/dcache/commit/5d6fd1966580db7c45f7b51b600ef6be44755e51)
: cells: log bugs found by CellShell
[c02aeaa](https://github.com/dcache/dcache/commit/c02aeaaae3a45bc5403ff917c547886fbbcab07f)
: cells: fix how bugs are reported from ac_ command.
[255fa85](https://github.com/dcache/dcache/commit/255fa858621f8600896931307b8ce1c3b3520127)
: pool: Fix bug in migration module upgrade logic
[e51c5b2](https://github.com/dcache/dcache/commit/e51c5b2d767d26a9a4dfc8f1168b2a2143453554)
: pnfsmanager: Fix upload to space token that conflicts with AL and RP tags
[7d30b6a](https://github.com/dcache/dcache/commit/7d30b6acacf9308be41476561e7b60f9bbcb05fc)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.23
### Changes affecting multiple services
Various scripts, including the `dcache` command, invoke the `java`
command with a list of directories in which Java should look for
support libraries. Previously, the current working directory was
(mistakenly) included in that list. This could lead to odd behaviour;
one particular example is running a `dcache database` command from the
`/etc/dcache` directory. This release fixes this problem by excluding
the current directory.
When there is some problem in the communication between domains and
error message is logged. Previously the explanation for the problem
was logged as "null". With this release, a more descriptive
explanation is provided.
### spacemanager
Fixed the `ls spaces` and `ls files` commands so they do not fail if
there is a reservation without an owner.
### Changelog 2.9.22..2.9.23
<!-- git log 2.9.22..2.9.23 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[e02cb1c](https://github.com/dcache/dcache/commit/e02cb1c562d90a72235758c123a07e2e11b81e50)
: [maven-release-plugin] prepare release 2.9.23
[d776ce6](https://github.com/dcache/dcache/commit/d776ce6ce16efb02a4e9d2512d3b677f94af12fa)
: spacemanager: Fix NPE in listing space reservations
[0af6f6e](https://github.com/dcache/dcache/commit/0af6f6e1ba06dc71245fc85432c10b191168e2e7)
: tunnel: use toString if IOException#getMessage returns null
[0256405](https://github.com/dcache/dcache/commit/0256405376d75d70d80ea6da00c044463ac45949)
: Exclude cwd from classpath
[7af5f04](https://github.com/dcache/dcache/commit/7af5f049e24e395a6b0354676ac8b4528719f631)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.22
### Changes affecting multiple services
This patch fixes a race condition in Chimera that affects the nfs door
and the pnfsmanager service. The effect is that, if two clients
attempt to delete the same target (a file, link or directory) at the
same time then the nlink count for the parent directory is decreased
twice. "At the same time" means within the time taken to process the
deletion; this is instance-specific but should be much less than 1 ms
for well-configured systems. Sites can repare any incorrect nlinks
with the following SQL:
UPDATE t_inodes SET inlink = (
SELECT COUNT(*) FROM t_dirs WHERE t_inodes.ipnfsid = t_dirs.iparent
) WHERE itype = 16384;
This is safe to run on a running production instance, but may take
some time and will affect dCache's responsiveness while running.
### gplazma
The description for how to migrate away from using the forbidden
`useGPlazmaAuthorizationModule` and `useGPlazmaAuthorizationCell`
properties had caused confusion. The description has now been updated
to be more explicit.
### httpd
Fix filtering boxes and sorting on Pool Admin, Pool Usage, Poolgroups,
Space Tokens and Tape Transfer Queue.
### srm
Uploading a file with SRM involves three steps: preparing for the
upload (`srmPrepareToPut`), uploading the file, marking the upload
finished (`srmPutDone`). The third step can fail but previously the
response from dCache is always `Upload failed.`. With this release, a
meaningful error message is returned.
### Changelog 2.9.21..2.9.22
<!-- git log 2.9.21..2.9.22 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[273a6bd](https://github.com/dcache/dcache/commit/273a6bde5f1617918190b446e25958c92f76dc1f)
: [maven-release-plugin] prepare release 2.9.22
[2dfe39a](https://github.com/dcache/dcache/commit/2dfe39af31ff0394f02738f6944eb41900a2d9fb)
: gplazma: update error message for forbidden properties
[fd03121](https://github.com/dcache/dcache/commit/fd031219699336862f4d1b6291a440a8ff7c9a00)
: (2.9) webadmin: make jquery selector specific to individual tables
[d826d12](https://github.com/dcache/dcache/commit/d826d1248a6d4d9a255e9360cd1e2776a2286b51)
: (2.9) webadmin: restore missing components to respect jquery script options
[cc7d855](https://github.com/dcache/dcache/commit/cc7d85544e97990f8511a73f63d5794c24c89363)
: srm: include the reason why upload failed
[4ee0db1](https://github.com/dcache/dcache/commit/4ee0db16a21205a36a3c73ab5400a2aef7c5754e)
: chimera: fix race condition on remove
[344adbd](https://github.com/dcache/dcache/commit/344adbdeae3efc5471df8761cb4a5b7a59f765ca)
: webadmin: ensure unique id attributes for all (currently) tested UI elements
[159a2dc](https://github.com/dcache/dcache/commit/159a2dcbace01ad7fecddbce7d4c281bcba0a3f1)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.21
### ftp
Fix default value for `ftp.authz.readonly` for plain (unencrypted)
doors. This restores the default value to the dCache v2.6 default
value of `true`.
The response from the plain (unencrypted) ftp door if the user
specifies the wrong password is badly formed. Althogh it is possible
that some clients are robust against such incorrect responses, with
this release the ftp door responds correctly.
### webdav
Fixes a bug where, if a double-slash is present, all parts of the path
leading up to the double-slash are ignored; for example, with the bug,
a path like `/a/b//c/d` is handled as if `/c/d` was specified. With
this release, double-slashes are treated like single slashes; the
above example is handled as if `/a/b/c/d` was specified.
Fix the NullPointerException triggered if client attempts to upload a
file as a child of some existing file.
### Changelog 2.9.20..2.9.21
<!-- git log 2.9.20..2.9.21 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[9a9624d](https://github.com/dcache/dcache/commit/9a9624d3d8e0a38b872cd67856ec69835545b78e)
: [maven-release-plugin] prepare release 2.9.21
[c258357](https://github.com/dcache/dcache/commit/c258357cc40e7c1b575f0d6d6334ebe4ee5f3a8e)
: ftp: fix response if user fails to authenticate to weak FTP door
[6ae35be](https://github.com/dcache/dcache/commit/6ae35beebd6bd0dc9354998713b7e7e42903ee40)
: ftp: fix invalid default for ftp.authz.readonly property
[ac12004](https://github.com/dcache/dcache/commit/ac12004f5dd0cad198cd6df78b6bb1effd35f647)
: webdav: fix double-slash bug by upgrading to patched milton
[1add5a4](https://github.com/dcache/dcache/commit/1add5a4860f345f8b50c29f7e306a63a01f1d6c1)
: webdav: fix NullPointerException when PUT as a child of a file
[050ff78](https://github.com/dcache/dcache/commit/050ff786776c7ce2e12d6785e9ac51bedbbd0def)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.20
### Changes affecting multiple services
Previously releases of dCache claimed to support Java-8; however, this
is not true. For Java-8 support, sites must upgrade to dCache v2.10
or newer.
### httpd
Fix two minor issues when authenticating with the webadmin interface:
"unauthorised access" and being redirected to the home page. The
unauthorised access error can occur when selecting "Login" under the
bird logo (top right corner); this is now fixed. The redirection
problem occurs when selecting a tab that requires administrative
privileges while not logged in; this redirects the browser to the
login page. Previously, after a successful login, the browser was
redirected to the home page. Now the browser is redirected to the
selected tab.
### webdav
A previous bug-fix release fixed how dCache responds when the client
attempts to `DELETE` a non-existent file. Unfortunately, this
triggered a different problem where such activity results in a
stack-trace that starts `java.lang.ClassCastException:
java.lang.String cannot be cast to javax.security.auth.Subject`. This
second problem is now fixed.
### Changelog 2.9.19..2.9.20
<!-- git log 2.9.19..2.9.20 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[6639259](https://github.com/dcache/dcache/commit/6639259f37ae52a314bdd3108410af98df026aed)
: [maven-release-plugin] prepare release 2.9.20
[d29b079](https://github.com/dcache/dcache/commit/d29b07924fcd423df8ff6a15dccdadfa323e56c3)
: Disallow Java 8
[e4428e0](https://github.com/dcache/dcache/commit/e4428e046e2633d09495b3d96d66cc612d1312af)
: webdav: Alternative to fixing return code of DELETE of absent file
[5b1a81e](https://github.com/dcache/dcache/commit/5b1a81eaee153dfe23b7a2eb0944751078635e83)
: (2.9) webadmin: fix login redirect bug
[7fe25d4](https://github.com/dcache/dcache/commit/7fe25d44a872183a4b47ae47e16c21570cba94a9)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.19
### Changes affecting multiple services
It is possible that a sudden burst of activity from many clients
exceeds dCache capacity to queue such requests. Although dCache is
designed to degrade gracefully under such circumstances, there existed
the possibility of certain requests becoming stuck or memory leaking.
This is now fixed.
### info-provider
In previous releases, the info-provider assumed the broker domain is
`dCacheDomain`. This assumption has been removed.
### nfs
Upgrade to nfs4j v0.8.5. This fixes export file parsing if a host is
mentioned multiple times; note `localhost` must now have an explicit
entry in the exports file. This also fixes a deadlock when closing a
file on a busy dCache instance.
### pnfsmanager
Fix NullPointerException when a file is stored in a directory with an
empty tag.
### pool
Upon reloading the pool configuration an error is produced when an
nearline storage was already defined in the existing
configuration. This is now fixed.
A recent release fixed a bug that caused
`pool.mover.ftp.allow-incoming-connections` to be ignored. Fixing
that bug revealed another that caused the property to have the
opposite effect. This is now fixed.
dCache pool configuration allows passing (fixed) arguments to the HSM
script. In earlier releases, these arguments were supplied to the
script in an arbitrary order. While HSM scripts should not depend on
the order, they might; so, with this release, the order is preserved.
### webdav
Although dCache behaves correctly if the client interrupts a proxied
transfer; however, this is logged as a bug. This is now fixed.
### Changelog 2.9.18..2.9.19
<!-- git log 2.9.18..2.9.19 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[16a165b](https://github.com/dcache/dcache/commit/16a165b0da7ff0157c67c7ea3b0335d0a9c14b32)
: [maven-release-plugin] prepare release 2.9.19
[ab8e906](https://github.com/dcache/dcache/commit/ab8e90658ccf9ac631d46b0b81910a552e8bc55c)
: webdav: don't log a stack-track when proxy transfer is interrupted
[fc0dd3c](https://github.com/dcache/dcache/commit/fc0dd3c352c5d99f6f8dd2e32f72bfc157adc68e)
: info-provider: remove dCacheDomain assumption.
[9d5724f](https://github.com/dcache/dcache/commit/9d5724f823f279507fda76687146009ffb3e51d4)
: Fix compilation with Java 7
[b5f3b1c](https://github.com/dcache/dcache/commit/b5f3b1c9e4fe215edb159110ab81cbe399910b1d)
: cells: Fix message timeout in case of thread pool overflows
[048f4da](https://github.com/dcache/dcache/commit/048f4da4c20e2474937117725c27454fb63f90f3)
: libs: pull grizzly-framework-2.3.12 for nfs4j
[bbccfd9](https://github.com/dcache/dcache/commit/bbccfd959ff4400ff9d8fccc4f9941a97f821efd)
: chimera: handle NULL field of directory tags
[98a595b](https://github.com/dcache/dcache/commit/98a595b5441ed046c2a7703c1b6ca143760cdc1b)
: pool: Fix regression preventing configuration to be reloaded
[fd20bb6](https://github.com/dcache/dcache/commit/fd20bb6221879c92fd6b89b987bcb7b1b5b35632)
: (2.9) gitignore additions for IntelliJ
[8c33655](https://github.com/dcache/dcache/commit/8c33655c7877684dea0b8a9662cfb27abb5794b4)
: libs: update to nfs4j-0.8.5
[3c778f1](https://github.com/dcache/dcache/commit/3c778f10421c44a459c044ddf7ab06dba2443e96)
: pool: Fix regression causing FTP movers to default to proxy mode
[1392a58](https://github.com/dcache/dcache/commit/1392a58cbf9b81d38fe3e09d8a8dfff905195f2a)
: pool: Preserve HSM option ordering
[c91e5f3](https://github.com/dcache/dcache/commit/c91e5f3216de54b6ed3c34e6530b29a2db42a941)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.18
### Changes affecting multiple services
Although dCache system configuration property names do not contain
spaces, it is possible to define such properties. Previously, doing
so breaks the `dcache` command. This is now fixed.
If the number of concurrent connections is set to `-1` then the ftp
and dcap doors will leak memory, eventually triggering an
out-of-memory error that will restart the domain. This is now fixed.
### admin
Fix erronous reporting of bugs when the user supplies incorrect
arguments to an admin command.
### dcap
Fix regression against v2.6 and earlier dCache in how gsidcap doors
are known to SRM and how they are published in BDII/GLUE.
### ftp
The ftp door supports the `HELP` command as some clients use this
commands output to discover if certain optional functionality is
available. This release fixes the output from this command.
### pool
Improve which interface the ftp mover selects when the client is
redirected to the pool. In particular, the door will only redirect
the client if the IP protocol matches (IPv4 vs IPv6); for example, if
a client connects with IPv6 and the pool has no IPv6 address then the
door will now proxy the data connection.
The `pool.mover.ftp.allow-incoming-connections` property had no
effect. This is now fixed.
Improve shutdown of nearline storage subsystem; now dCache will
attempt to cancel all ongoing activity before shutting down the pool.
The previous asynchronous approach could lead to
`IllegalStateException` being logged if the pool was busy at that
time.
### spacemanager
Adjust spacemanager schema migration to be aware of earlier dCache
bugs and to work-around site-local indexes that clash with new indexes
that dCache needs.
### srm
Previously, if the SRM client requests listing a directory, specifies
a non-zero offset and does not limit the response size then dCache
would fail this request with an IllegalArgumentException. This is now
fixed.
### webdav
With the recent upgrade of the Milton library some new behaviour was
introduced. One example is that, under certain circumstances (and to
support certain clients) the Milton library returns a `401` (not
authorised) when attempting to delete a non-existing file.
Unfortunately, this change then broke ATLAS clients. This patch
updates dCache so it returns `404` (not found) under these
circumstances.
Fix the response when a client requests a byte-range beyond the end of
a file. This is necessary for compatibly with ARC clients.
### Changelog 2.9.17 to 2.9.18
<!-- git log 2.9.17..2.9.18 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[4dc77ac](https://github.com/dcache/dcache/commit/4dc77accd83187b43b85cd012ef81c1a4dc19911)
: [maven-release-plugin] prepare release 2.9.18
[5c91187](https://github.com/dcache/dcache/commit/5c91187257d0bc046d9a271fb9ed9481b7704eec)
: webdav: Fix reported content length for partial GETs
[34efc53](https://github.com/dcache/dcache/commit/34efc53359965ec5d1549635e5c068b79e9c10a1)
: webdav: Fix return code on DELETE of absent file
[97622d9](https://github.com/dcache/dcache/commit/97622d9adb0e01494f5bdb7ea02a132ecad166d7)
: srm: fix semi-infinite ls range with non-zero offset
[9c416b2](https://github.com/dcache/dcache/commit/9c416b2057a7354a93ff8f0916516934d72f5cbe)
: pool: Partially fix interface selection for FTP mover
[5ff1529](https://github.com/dcache/dcache/commit/5ff15294f8e0a8a606f91f8ebcc600dcc8d61841)
: pool: Fix typo that breaks pool.mover.ftp.allow-incoming-connections
[12a1086](https://github.com/dcache/dcache/commit/12a10863bbb5b0330d05b47d5aa6fe9adcce829f)
: shell: fix shell oracle for configuration keys with a space
[8f2a131](https://github.com/dcache/dcache/commit/8f2a131f31ca06f33c94e0144e5c0b4b68ba641c)
: ftp: fix help output
[a20e635](https://github.com/dcache/dcache/commit/a20e635fb145d029c30bc39fdb0c2cc341645abe)
: dcap: Fix regression in published protocol family
[6b27f82](https://github.com/dcache/dcache/commit/6b27f8210ec7fbe15e04d6b91c358cab32b8fb44)
: loginmanager: Fix leak caused by absent child limit
[c904227](https://github.com/dcache/dcache/commit/c904227295ccd2ca5366723250a25e5e34a161d7)
: pool: Fix shutdown of nearline storage subsystem
[a9a4700](https://github.com/dcache/dcache/commit/a9a470006ae9161744e9c6aece046baecc95b90f)
: spacemanager: Fix null constraints and other schema migration issues
[4830544](https://github.com/dcache/dcache/commit/48305441818d7ba9defaae83e20a3e2fbd621709)
: admin: Fix error reporting
[20dbb7a](https://github.com/dcache/dcache/commit/20dbb7a64bdabbcce7b03b360e89cb3c8d40b877)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.17
### pool
The NFS specification allows the server to specify multiple addresses
when telling the client where to connect; for example, specifying both
an IPv4 and an IPv6 address, or both addresses for multi-homed
machines. This requires the client to choose the appropriate
interface. For Scientific Linux 6, the kernel client will always use
the first supplied address in the list and fail if it cannot access
the pool with that address. With this release, pools will order the
list, using heuristics to select which IPv4 address is "correct" and
list it first.
### poolmanager
With previous dCache versions, the WAAS selection algorithm had a bug
where it could (mistakenly) consider pools full if all pools had very
fresh files. This is fixed with this release.
### spacemanager
Fix various issues to improve the robustness of spacemanager: handle
failed uploads correctly, handle files deleted during upload
correctly, increase robustness against dCache loosing (internal)
messages.
### webdav
Upgrade to Milton v2.6. This fixes the buffering problem where a
proxied vector read request results in the entire file being written
to a `tmp` directory and not deleted. With this release, requests for
100 kiB or less data result in no data being written to disk; requests
for more than 100 kiB are still written to disk, but only the data
needed to satisfy the request is stored and the file is deleted once
the response has been sent. Some issues persist: data isn't deleted
if there is a failure sending it to the client and the whole file is
requested from the pool.
### Changelog 2.9.16 to 2.9.17
<!-- git log 2.9.16..2.9.17 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[1477be1](https://github.com/dcache/dcache/commit/1477be1633e3a91a0da50b009114d133c4a5a68c)
: [maven-release-plugin] prepare release 2.9.17
[c3d30aa](https://github.com/dcache/dcache/commit/c3d30aade8d1807db4605cbf011a8ed58c228aeb)
: poolmanager: Fix full pool detection for WASS
[04841d4](https://github.com/dcache/dcache/commit/04841d4e3e88c15fbd4c3ad213a941e74aa26321)
: Upgrade to Milton 2.6
[f400a57](https://github.com/dcache/dcache/commit/f400a5717d422c8981206ba843615964de592ff7)
: pool: reorder ip addresses returned to NFS client
[1d27710](https://github.com/dcache/dcache/commit/1d27710db4366b3899a58707996987563a479ec7)
: spacemanager: Fix various error recovery scenarios
[f9b7139](https://github.com/dcache/dcache/commit/f9b71397918d8f778f569fe3915230f663babb1a)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.16
### Changes affecting multiple services
Restarting a domain within an active dCache instance can lead to a
domain receiving messages for a cell as it is starting. Strict
control is require to avoid the cell attempting to process messages
before it is ready. This release fixes one place where this control
was missed, which could lead to a `NullPointerException`. While this
problem can affect any core dCache service, it was noticed with the
spacemanager service.
### httpd
dCache versions including and after 2.11.0, 2.10.9, 2.9.12, 2.8.16,
2.7.21 and 2.6.36 required sites to delete existing RRD files when
upgrading; i.e., run the command `rm -f /var/lib/dcache/plots/*.rrd`
when the domain hosting the `httpd` service is stopped. This release
reverts that change, but requires sites that have already upgraded to
repeat the `rm` command. Sites upgrading from an earlier dCache
version do not need to delete anything.
Fix a potential `NullPointerException` in `poolCollector`.
### nfs
Protect against a `NullPointerException` if the client attempts to
read the contents of a file's level where that level exists in the
database but contains a Nil value. This does not happen under normal
circumstances.
### pool
The Berkeley DB, which may be used to store file metadata on the pool,
does not like being interrupted. The pool tries hard to avoid
interrupting reading or writing; this release fixes one place that
slipped through.
Fix regression in the output from the info command: it did not include
statistics about the number of HSM requests and HSM timeouts. Also
fixes how active HSM jobs are counted: cancelled jobs are still active
until the underlying job as ended.
### Changelog 2.9.15 to 2.9.16
<!-- git log 2.9.15..2.9.16 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[ad2863a](https://github.com/dcache/dcache/commit/ad2863a0a1ebaa4ad19e1f1f4aae3cfa131e4b37)
: [maven-release-plugin] prepare release 2.9.16
[2eb29b8](https://github.com/dcache/dcache/commit/2eb29b8a9830977cf26c536f9054895ed9b506fa)
: imera: protect against NPE in FsSqlDriver#read
[4fca3c4](https://github.com/dcache/dcache/commit/4fca3c4b819c4da3cfff54e99a5cee7dc29127cd)
: pool: Restore flush and stage stats in info
[12496d6](https://github.com/dcache/dcache/commit/12496d639778aa2d9fd3241568fa68430d3aae61)
: Fix NPE in cell initialization
[99a8479](https://github.com/dcache/dcache/commit/99a8479d3653328a6a33ddaca4be05b6375568bc)
: Fix NPE in httpd service
[fdda8bf](https://github.com/dcache/dcache/commit/fdda8bf884bf4c860747a25d1072ef5d410e5215)
: pool: Avoid interrupting Berkeley DB in migration module server
[47a5c36](https://github.com/dcache/dcache/commit/47a5c36f59dd1d731191af9d5065d9f4858b54b2)
: dcache-webadmin: revert rrd data source names
[17b04cc](https://github.com/dcache/dcache/commit/17b04cc25cd246cf2e23439bc0ba38c79fc06464)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.15
### alarms
Fix minor corruption at beginning of the alarms defaults file.
### httpd
In previous versions of dCache, the webadmin war file is automatically
unpacked. This has been problematic as a dCache upgrade did not
always trigger updating the unpacked webadmin, resulting in dCache
running the older webadmin. With this release, dCache no longer
unpacks the war file; the `webadminWarunpackdir` and
`httpd.container.webapps.tmp-dir` properties are now obsolete.
### Changelog from 2.9.14 to 2.9.15
<!-- git log 2.9.14..2.9.15 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[1354cc5](https://github.com/dcache/dcache/commit/1354cc5686a4377186fcc90d1753d2a1051b19dc)
: [maven-release-plugin] prepare release 2.9.15
[6e0bee1](https://github.com/dcache/dcache/commit/6e0bee163f90625fb396c65dad0a9343417e4382)
: alarms.properties fix accidental header corruption
[256b40d](https://github.com/dcache/dcache/commit/256b40dd25c3ddcbfd164af63399794322793e82)
: [maven-release-plugin] prepare for next development iteration
[daf71ba](https://github.com/dcache/dcache/commit/daf71ba5b6c3edf848d543dfd4d56538748df553)
: (2.9) dcache-webadmin: change Jetty setting so .war is not unpacked
## Release 2.9.14
### Changes affecting multiple services
A bug was discovered that resulted in the nlink count becoming
negative. While wrong, this had a knock-on effect that prevented
pnfsmanager and nfs services from listing the affected directory.
With this release, directory listing are robust against such problems.
### alarms
Fix alarm definition that triggers when the pool discovers a file with
the wrong checksum. Previously it mistakenly triggered if an upload
was incomplete.
### nfs
Update nfs4j to v0.8.3. This brings some small performance benefits
when listing a directory and for reading data through NFS v3.
Fix bug where, when a client read activity is proxied, the
corresponding dcap mover wasn't removed if client didn't wait for the
queued mover to start. Previously, such movers would accumulate on
the pool.
### pnfsmanager
Prevent attempts to remove the `.` and `..` directories.
### webadmin
Display the command's output in the cell admin page to use a monospace
font.
Remove a javascript error due to missing clojure dependency.
Sending commands in cell admin page is fixed.
### Changelog from 2.9.13 to 2.9.14
<!-- git log 2.9.13..2.9.14 -no-merges -format='[%h](https://github.com/dcache/dcache/commit/%H)%n: %s%n' -->
[2f4d1e4](https://github.com/dcache/dcache/commit/2f4d1e4863d7b8a4028728d193c77e7b964456fd)
: [maven-release-plugin] prepare release 2.9.14
[9dc9a7e](https://github.com/dcache/dcache/commit/9dc9a7e3649c56323a865b584d866b329f6ee924)
: webadmin: Fix ClassCastException in cell admin
[09888d6](https://github.com/dcache/dcache/commit/09888d6a92bc42252f7c0168df1b6983e8fd1277)
: alarms: fix regex for checksum alarm
[2329345](https://github.com/dcache/dcache/commit/23293454b019a75033a81f37e3b4d728845828e4)
: webadmin: remove redundant head element in alarms panel html
[045091a](https://github.com/dcache/dcache/commit/045091afbcc127e8a67fc51561933bcfc8790e80)
: dcache-webadmin: change output field of cell admin page to monospace font
[29251e9](https://github.com/dcache/dcache/commit/29251e9618337c69f26482bbf5f94e518b032d2b)
: (2.11) dcache-webadmin: eliminate clojure dependency
[eec425b](https://github.com/dcache/dcache/commit/eec425bfb19accad219991b8b1bad1416002659a)
: nfs-proxy: kill mover if we get a timeout on redirect
[a2c27f1](https://github.com/dcache/dcache/commit/a2c27f1bc58d11d7e18e62889f30dfca9ab2a121)
: libs: update to nfs4j-0.8.3
[b44bc21](https://github.com/dcache/dcache/commit/b44bc21cc900332df5503aad78b0c6ad7e4a409f)
: chimera: protect list initialization from FS inconsistencies
[b773683](https://github.com/dcache/dcache/commit/b7736834f3769876b68d401d5d63482b3b893bb2)
: webadmin: tidy up unavailable page slightly
[2cdcfc4](https://github.com/dcache/dcache/commit/2cdcfc458f648b07b20b35b2ae44921215c0e9e4)
: chimera: prevent attempts to remove '.' and '..'
[0db8034](https://github.com/dcache/dcache/commit/0db80347b00e87a83f5dbfbd985dc6e1d39a9385)
: [maven-release-plugin] prepare for next development iteration
## Release 2.9.13
### Fixes affecting multiple services
Update `dcache check-config` to print an error if site-local
configuration contains scoped properties: one that contain a '/'
character.
### httpd
Fix pool queue plots in webadmin.
### nfs
Performance improvements.
### pnfsmanager
Fix the message reported when moving (or renaming) a file or directory
and certain problems were found: the destination directory isn't a
directory, the source doesn't exist, or overwriting with different
types (e.g., overwriting a directory with a file).
Fail requests earlier that plan to upload a file if that file's path
already exists as a directory. Previously, dCache would fail such
uploads after the file was upload (during srmPutDone). With this
release, dCache will fail during srmPrepareToPut instead.
### poolmanager
If a site using WAAS specifies too large a Space Cost Factor then the
algorithm used for write pool selection breaks down, logging
"Unreachable statement." Starting with this release, a warning is
logged indicating the cause of the problem.
### srm
The `srm.enable.space-reservation.implicit` property is now marked
forbidden. This means a dCache instance with this property configured