-
Notifications
You must be signed in to change notification settings - Fork 3
/
release-notes-2.6.shtml
3891 lines (2966 loc) · 175 KB
/
release-notes-2.6.shtml
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--#include virtual="/template/default-head.shtml" -->
<title>Release notes 2.6</title>
<!-- <base target="_blank"> -->
</head>
<script type="text/javascript" src="http://samaxesjs.googlecode.com/files/samaxesjs.toc-1.5.min.js"></script>
<script type="text/javascript">
samaxesJS.toc({autoId: true, exclude: 'h1,h4,h5,h6'});
</script>
<link type="text/css" rel="stylesheet" href="style.css"/>
</head>
<body>
<!-- navi -->
<!--#include virtual="/template/l1-header.shtml" -->
<!-- body part -->
<h1>dCache 2.6 Release Notes</h1>
<h4>Highlights:</h4>
<ul>
<li>Support for certificates with SHA-2 checksum</li>
<li>NFS with ACL and read-only exports</li>
<li>webadmin pages with all their improvements are default</li>
<li>xrootd and http movers use less resources on pools</li>
<li>StAR records update</li>
<li>prototype of JSON API</li>
<li>new command to find out file locality</li>
</ul>
<h2>Table of contents</h2>
<div id="toc" class="two-columns"></div>
<h2>Upgrade Instructions</h2>
<div id="important">
<p>dCache 2.6 requires Java 7.</p>
</div>
<p>Please notice that due to the change to jpnfs-0.0.5, all NFS
clients (v3 and v4) have to unmount prior update.</p>
<div id="important">
<p>Please read the preliminary version of
the <a href="http://www.dcache.org/manuals/upgrade/upgrade-2.2-to-2.6.html">Ultimate
Golden Release Upgrade Guide</a> carefully.</p>
</div>
<h3>Compatibility</h3>
<p>If NFS4.1 and HTTP PUT redirect are not used, then 2.6 doors and
head nodes can be mixed with pools of releases 2.2 or newer. Doors
and head nodes have to be updated at the same time.
</p>
<p>If server side SRM copy is used dCache 2.6 is not compatible with
pools of dCache 2.2.8 or before and it is also not compatible with
pools of dCache 2.3.x and 2.4.x. Please upgrade the pools of dCache
2.2.8 and before to dCache 2.2.9 or higher and pools of dCache 2.3.x
or 2.4.x to dCache 2.6.x in this case.</p>
<a name='51'><h2>dCache 2.6.51</h2></a>
<h3>ftp</h3>
<p>
Fix security vulnerability in <tt>gsi</tt> and <tt>kerberos</tt> authenticated ftp.
</p>
<a name='50'><h2>dCache 2.6.50</h2></a>
<h3>Affecting multiple services</h3>
<p>
dCache uses a standard format to monitor the performance of various
components: in the srm door to record how quickly SRM requests are
processed (<tt>print srm counters</tt> command), the generic cell
message monitoring (<tt>monitoring info</tt> command), and
pnfsmanager service (the "Statistics" section in <tt>info</tt>).
This release fixes a rounding error that prevents these statistics
from including long-lived requests.
</p>
<h3>pinmanager</h3>
<p>
The pinmanager service has the <tt>ls</tt> 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.
</p>
<h3>srm</h3>
<p>
This release fixes the srm service so it cancels corresponding
pinmanager requests when an SRM client aborts a bring-online
request.
</p>
<h3>Changelog 2.6.49 to 2.6.50</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/1fc63fa">[1fc63fa]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/03cf312">[03cf312]</a> system-test: add regenerated host and user credentials</li>
<li><a href="https://github.com/dCache/dcache/commit/b0379b1">[b0379b1]</a> system-test: add missing dCache disposible CA certificate</li>
<li><a href="https://github.com/dCache/dcache/commit/63d1c8b">[63d1c8b]</a> pinmanager: Fix listing by id</li>
<li><a href="https://github.com/dCache/dcache/commit/87f8fe4">[87f8fe4]</a> srm: Abort pinning when cancelling bring-online requests</li>
<li><a href="https://github.com/dCache/dcache/commit/a20d169">[a20d169]</a> common: Fix rounding error in request gauge</li>
<li><a href="https://github.com/dCache/dcache/commit/1870932">[1870932]</a> common: Fix division by zero regression in gauges</li>
<li><a href="https://github.com/dCache/dcache/commit/010fc5d">[010fc5d]</a> [maven-release-plugin] prepare release 2.6.50</li>
</ul>
<a name='49'><h2>dCache 2.6.49</h2></a>
<h3>dcap</h3>
<p>
Update dcap door to avoid possible NullPointerException when describing
an error to the client.
</p>
<h3>Changelog 2.6.48 to 2.6.49</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/106fd51">[106fd51]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/13942cf">[13942cf]</a> dcap: do not call toString() on error object</li>
<li><a href="https://github.com/dCache/dcache/commit/6c2c9bb">[6c2c9bb]</a> [maven-release-plugin] prepare release 2.6.49</li>
</ul>
<a name='48'><h2>dCache 2.6.48</h2></a>
<h3>pool</h3>
<p>
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.
</p>
<h3>Changelog 2.6.47 to 2.6.48</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/6d000fa">[6d000fa]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/ddfc23c">[ddfc23c]</a> pool: Fix read corruption in HTTP mover</li>
<li><a href="https://github.com/dCache/dcache/commit/7863314">[7863314]</a> [maven-release-plugin] prepare release 2.6.48</li>
</ul>
<a name='47'><h2>dCache 2.6.47</h2></a>
<h3>pool</h3>
<p>
When attempting to upgrade non-precious and non-cached files (e.g. a
file marked <tt>broken</tt>), 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.
</p>
<h3>Changelog 2.6.46 to 2.6.47</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/56c9f60">[56c9f60]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/1728267">[1728267]</a> pool: Fix bug in migration module upgrade logic</li>
<li><a href="https://github.com/dCache/dcache/commit/7399aff">[7399aff]</a> [maven-release-plugin] prepare release 2.6.47</li>
</ul>
<a name='46'><h2>dCache 2.6.46</h2></a>
<h3>Changes affecting multiple services</h3>
<p>
Various scripts, including the <tt>dcache</tt> command, invoke the
<tt>java</tt> 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 <tt>dcache
database</tt> command from the <tt>/etc/dcache</tt> directory. This
release fixes this problem by excluding the current directory.
</p>
<p>
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.
</p>
<h3>Changelog 2.6.45 to 2.6.46</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/b39c151">[b39c151]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/85dd085">[85dd085]</a> Exclude cwd from classpath</li>
<li><a href="https://github.com/dCache/dcache/commit/b890561">[b890561]</a> tunnel: use toString if IOException#getMessage returns null</li>
<li><a href="https://github.com/dCache/dcache/commit/bb49f23">[bb49f23]</a> [maven-release-plugin] prepare release 2.6.46</li>
</ul>
<a name='45'><h2>dCache 2.6.45</h2></a>
<h3>nfs/pnfsmanager</h3>
<p>
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:
</p>
<pre>
UPDATE t_inodes SET inlink = (
SELECT COUNT(*) FROM t_dirs WHERE t_inodes.ipnfsid = t_dirs.iparent
) WHERE itype = 16384;
</pre>
<p>
This is safe to run on a running production instance, but may take
some time and will affect dCache's responsiveness while running.
</p>
<h3>Changelog 2.6.44 to 2.6.45</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/981aea9">[981aea9]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/dbbcaeb">[dbbcaeb]</a> webadmin: ensure unique id attributes for all (currently) tested UI elements</li>
<li><a href="https://github.com/dCache/dcache/commit/e8aac16">[e8aac16]</a> chimera: fix race condition on remove</li>
<li><a href="https://github.com/dCache/dcache/commit/c1fec8f">[c1fec8f]</a> [maven-release-plugin] prepare release 2.6.45</li>
</ul>
<a name='44'><h2>dCache 2.6.44</h2></a>
<h3>ftp</h3>
<p>
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.
</p>
<h3>webdav</h3>
<p>
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 <tt>/a/b//c/d</tt> is handled as
if <tt>/c/d</tt> was specified. With this release, double-slashes
are treated like single slashes; the above example is handled as if
<tt>/a/b/c/d</tt> was specified.
</p>
<h3>Changelog 2.6.43 to 2.6.44</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/066e8e9">[066e8e9]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/6832bdc">[6832bdc]</a> webdav: fix double-slash bug by upgrading to patched milton</li>
<li><a href="https://github.com/dCache/dcache/commit/eb52b4f">[eb52b4f]</a> ftp: fix response if user fails to authenticate to weak FTP door</li>
<li><a href="https://github.com/dCache/dcache/commit/cdda763">[cdda763]</a> [maven-release-plugin] prepare release 2.6.44</li>
</ul>
<a name='43'><h2>dCache 2.6.43</h2></a>
<h3>Changes affecting multiple services</h3>
<p>
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.
</p>
<h3>httpd</h3>
<p>
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.
</p>
<p>
Wnnhen logged in to the webadmin with admin privileges the "Pool
Usage" and "Active Transfers" tabs include a "Deselect All" button
that should clear all the "Selected" check-boxes. This now works.
</p>
<h3>webdav</h3>
<p>
A previous bug-fix release fixed how dCache responds when the client
attempts to <tt>DELETE</tt> a non-existent file. Unfortunately,
this triggered a different problem where such activity results in a
stack-trace that starts <tt>java.lang.ClassCastException:
java.lang.String cannot be cast to javax.security.auth.Subject</tt>.
This second problem is now fixed.
</p>
<h3>Changelog 2.6.42 to 2.6.43</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/81bb612">[81bb612]</a> (2.6) webadmin: fix select/deselect all on PoolUsage and ActiveTransfers</li>
<li><a href="https://github.com/dCache/dcache/commit/142cea0">[142cea0]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/086e5d2">[086e5d2]</a> (2.6) webadmin: alternative to tidy up login link in UserPanel</li>
<li><a href="https://github.com/dCache/dcache/commit/143e3f7">[143e3f7]</a> webdav: Alternative to fixing return code of DELETE of absent file</li>
<li><a href="https://github.com/dCache/dcache/commit/7361585">[7361585]</a> Disallow Java 8</li>
<li><a href="https://github.com/dCache/dcache/commit/1defaf7">[1defaf7]</a> [maven-release-plugin] prepare release 2.6.43</li>
</ul>
<a name='42'><h2>dCache 2.6.42</h2></a>
<h3>info-provider</h3>
<p>
In previous releases, the info-provider assumed the broker domain is
<tt>dCacheDomain</tt>. This assumption has been removed.
</p>
<h3>nfs</h3>
<p>
Update to nfs4j v0.7.9. Avoid errors when the door is heavily
loaded and the client closes a file. Avoid potential deadlock under
the same circumstances. Add the <tt>pnfs</tt> and <tt>nopnfs</tt>
options for controlling whether PNFS is supported. Fix parsing the
exports when a host is mentioned multiple times. Note that
<tt>localhost</tt> must now have an explicit entry in the exports
file.
</p>
<h3>webdav</h3>
<p>
Although dCache behaves correctly if the client interrupts a proxied
transfer; however, this is logged as a bug. This is now fixed.
</p>
<h3>Changelog 2.6.41 to 2.6.42</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/a77726f">[a77726f]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/34ddb1d">[34ddb1d]</a> libs: update to nfs4j-0.7.9</li>
<li><a href="https://github.com/dCache/dcache/commit/4f40b74">[4f40b74]</a> (2.6) add .gitignore file</li>
<li><a href="https://github.com/dCache/dcache/commit/59ea3f2">[59ea3f2]</a> info-provider: remove dCacheDomain assumption.</li>
<li><a href="https://github.com/dCache/dcache/commit/d901279">[d901279]</a> webdav: don't log a stack-track when proxy transfer is interrupted</li>
<li><a href="https://github.com/dCache/dcache/commit/55e8538">[55e8538]</a> [maven-release-plugin] prepare release 2.6.42</li>
</ul>
<a name='41'><h2>dCache 2.6.41</h2></a>
<h3>Changes affecting multiple services</h3>
<p>
Although dCache system configuration property names do not contain
spaces, it is possible to define such properties. Previously, doing
so breaks the <tt>dcache</tt> command. This is now fixed.
</p>
<h3>srm</h3>
<p>
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.
</p>
<h3>webdav</h3>
<p>
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 <tt>401</tt> (not authorised) when attempting to delete a
non-existing file. Unfortunately, this change then broke ATLAS
clients. This patch updates dCache so it returns <tt>404</tt> (not
found) under these circumstances.
</p>
<p>
Fix the response when a client requests a byte-range beyond the end
of a file. This is necessary for compatibly with ARC clients.
</p>
<h3>Changelog 2.6.40 to 2.6.41</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/69edaca">[69edaca]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/85794c2">[85794c2]</a> shell: fix shell oracle for configuration keys with a space</li>
<li><a href="https://github.com/dCache/dcache/commit/bc53148">[bc53148]</a> srm: fix semi-infinite ls range with non-zero offset</li>
<li><a href="https://github.com/dCache/dcache/commit/6d4f631">[6d4f631]</a> webdav: Fix return code on DELETE of absent file</li>
<li><a href="https://github.com/dCache/dcache/commit/ecf142b">[ecf142b]</a> webdav: Fix reported content length for partial GETs</li>
<li><a href="https://github.com/dCache/dcache/commit/108e62f">[108e62f]</a> [maven-release-plugin] prepare release 2.6.41</li>
</ul>
<a name='40'><h2>dCache 2.6.40</h2></a>
<h3>nfs</h3>
<p>
Under heavy load, if the nfs door is restarted, the new door may
receive response messages from requests send by the previous door.
In previous versions of dCache, this situation triggered a
stack-trace. This is now fixed.
</p>
<h3>pool</h3>
<p>
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.
</p>
<h3>poolmanager</h3>
<p>
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.
</p>
<h3>webdav</h3>
<p>
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 <tt>tmp</tt> 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.
</p>
<h3>Changelog 2.6.39 to 2.6.40</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/9d801d7">[9d801d7]</a> nfs: fix NPE on door reboot</li>
<li><a href="https://github.com/dCache/dcache/commit/2407341">[2407341]</a> prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/5682747">[5682747]</a> pool: reorder ip addresses returned to NFS client</li>
<li><a href="https://github.com/dCache/dcache/commit/99006ad">[99006ad]</a> Upgrade to Milton 2.6</li>
<li><a href="https://github.com/dCache/dcache/commit/fe6a44e">[fe6a44e]</a> poolmanager: Fix full pool detection for WASS</li>
<li><a href="https://github.com/dCache/dcache/commit/03c149d">[03c149d]</a> [maven-release-plugin] prepare release 2.6.40</li>
</ul>
<a name='39'><h2>dCache 2.6.39</h2></a>
<h3>httpd</h3>
<p>
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
<tt>webadminWarunpackdir</tt> property is now obsolete.
</p>
<p>
dCache versions including and after 2.6.36 required sites to delete
existing RRD files when upgrading; i.e., run the command <tt>rm -f
/var/lib/dcache/plots/*.rrd</tt> when the domain hosting
the <tt>httpd</tt> service is stopped. This release reverts that
change, but requires sites that have already upgraded to repeat the
<tt>rm</tt> command. Sites upgrading from an earlier dCache version
do not need to delete anything.
</p>
<h3>nfs</h3>
<p>
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.
</p>
<h3>pool</h3>
<p>
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.
</p>
<h3>Changelog 2.6.38 to 2.6.39</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/33bcdfd">[33bcdfd]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/db961cf">[db961cf]</a> (2.6) dcache-webadmin: change Jetty setting so .war is not unpacked</li>
<li><a href="https://github.com/dCache/dcache/commit/4c857ef">[4c857ef]</a> (2.6) dcache-webadmin: revert rrd data source names</li>
<li><a href="https://github.com/dCache/dcache/commit/c6bc4f3">[c6bc4f3]</a> pool: Avoid interrupting Berkeley DB in migration module server</li>
<li><a href="https://github.com/dCache/dcache/commit/cb3e22c">[cb3e22c]</a> imera: protect against NPE in FsSqlDriver#read</li>
<li><a href="https://github.com/dCache/dcache/commit/14369de">[14369de]</a> [maven-release-plugin] prepare release 2.6.39</li>
</ul>
<a name='38'><h2>dCache 2.6.38</h2></a>
<h3>Changes affecting multiple services</h3>
<p>
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.
</p>
<h3>alarms</h3>
<p>
Fix alarm definition that triggers when the pool discovers a file
with the wrong checksum. Previously it mistakenly triggered if an
upload was incomplete.
</p>
<h3>nfs</h3>
<p>
Update nfs4j to v0.7.8. This brings some small performance benefits
when listing a directory and for reading data through NFS v3.
</p>
<p>
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.
</p>
<h3>pnfsmanager</h3>
<p>
Prevent attempts to remove the <tt>.</tt> and <tt>..</tt>
directories.
</p>
<h3>webadmin</h3>
<p>
Display the command's output in the cell admin page to use a
monospace font.
</p>
<p>
Remove a javascript error due to missing clojure dependency.
</p>
<h3>Changelog 2.6.37 to 2.6.38</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/6da06c1">[6da06c1]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/e842115">[e842115]</a> chimera: prevent attempts to remove '.' and '..'</li>
<li><a href="https://github.com/dCache/dcache/commit/96a852b">[96a852b]</a> webadmin: tidy up unavailable page slightly</li>
<li><a href="https://github.com/dCache/dcache/commit/6ae8084">[6ae8084]</a> chimera: protect list initialization from FS inconsistencies</li>
<li><a href="https://github.com/dCache/dcache/commit/1b33547">[1b33547]</a> libs: update to nfs4j-0.7.8</li>
<li><a href="https://github.com/dCache/dcache/commit/a6c6f12">[a6c6f12]</a> nfs-proxy: kill mover if we get a timeout on redirect</li>
<li><a href="https://github.com/dCache/dcache/commit/51b66cb">[51b66cb]</a> (2.6) webadmin: repair css and js dependencies</li>
<li><a href="https://github.com/dCache/dcache/commit/a06ff4e">[a06ff4e]</a> dcache-webadmin: change output field of cell admin page to monospace font</li>
<li><a href="https://github.com/dCache/dcache/commit/0dee828">[0dee828]</a> alarms: fix regex for checksum alarm</li>
<li><a href="https://github.com/dCache/dcache/commit/e654b32">[e654b32]</a> [maven-release-plugin] prepare release 2.6.38</li>
</ul>
<a name='37'><h2>dCache 2.6.37</h2></a>
<h3>httpd</h3>
<p>
Make webadmin functional again.
</p>
<h3>nfs</h3>
<p>
Performance improvements.
</p>
<h3>pnfsmanager</h3>
<p>
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).
</p>
<h3>poolmanager</h3>
<p>
If a site using WAAS specifies too large a Space Cost Factor then
the algorithm used for write pool selection breaks down, logging
<tt>Unreachable statement</tt>. Starting with this release, a
warning is logged indicating the cause of the problem.
</p>
<h3>Changelog 2.6.36 to 2.6.37</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/7b06ddc">[7b06ddc]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/5937dfd">[5937dfd]</a> pom: update to nfs4j-0.7.7</li>
<li><a href="https://github.com/dCache/dcache/commit/4f03e1a">[4f03e1a]</a> (2.6) pool queue plots - fix partial package refactoring and neglected removal of jndi arguments</li>
<li><a href="https://github.com/dCache/dcache/commit/5d00536">[5d00536]</a> When space cost factor is large, wass may run into a problem caused by the limited precision of floating point arithmetic. When that happens the code reaches a statement that was thought to be unreachable.</li>
<li><a href="https://github.com/dCache/dcache/commit/d0315d8">[d0315d8]</a> chimera: Add messages to JdbcFs#move exceptions</li>
<li><a href="https://github.com/dCache/dcache/commit/4a6e55f">[4a6e55f]</a> Fix nsswitch plugin unit-tests</li>
<li><a href="https://github.com/dCache/dcache/commit/11cb1d6">[11cb1d6]</a> [maven-release-plugin] prepare release 2.6.37</li>
</ul>
<a name='36'><h2>dCache 2.6.36</h2></a>
<h3>Fixes affecting multiple services</h3>
<p>
Running the <tt>eval</tt> admin command so it returns a non-zero
return-code would respond indicating that a bug had been found.
This has been fixed.
</p>
<p>
An named environment may be executed and can contain a reference to
itself. If this recursion is unchecked, eventually memory is
exhausted and the domain would restart. Now an error is logged and
the domain is not killed.
</p>
<p>
Previously, some exceptions were logged with the wrong cell context
or without any context. This has been fixed.
</p>
<h3>billing</h3>
<p>
Billing records issued by doors never included the file's size.
This is now fixed for all doors except NFS.
</p>
<h3>gplazma</h3>
<p>
The xacml plugin now supports the gums server returning GID values.
</p>
<h3>pool</h3>
<p>
Fix internal copying of files (triggered by the SRM <tt>copy</tt>
command) so they respect the LAN port range.
</p>
<p>
Fix migration module's random pool selection so that it does not
select pools that are full.
</p>
<p>
Fix NullPointerException triggered when using migration module's
proportional pool selection and all pools are full.
</p>
<p>
The <tt>rep ls</tt> command can calculate per-storage-class
statistics. This release fixes a problem where files without a
storage-info would trigger an IllegalStateException when calculating
these statistics.
</p>
<p>
Fix sweeping of files without a storage-info. Previously an
IllegalStateException was thrown; this could be triggered by the
admin interface or by the sweeper.
</p>
<p>
Fix a problem where the pool would register free space before
actually deleting the file from the file system; for a brief moment,
the pool would appear to have more free space that is actually
available.
</p>
<p>
Periodically, pools check that dCache's internal accounting of total
and free capacity does not exceed the OS supplied values for the
partition (i.e., the output from the <tt>df</tt> command); if they
do then the dCache internal accounting is adjusted to match. The
dCache.org team have observed that, after a file is deleted, some
seconds may elapse before the corresponding extra free capacity is
reported by the OS. To protect pools from this effect, the total
and free capacity check is suppressed for 60 seconds after a file
was deleted.
</p>
<h3>srm</h3>
<p>
Fix the srm service's admin interface <tt>ls</tt> command so that
listed jobs can optionally include only those that have failed, have
completed or were cancelled.
</p>
<h3>webadmin</h3>
<p>
Webadmin periodically creates billing graphs by querying the billing
service for the information it needs. Previously, if this query
failed (e.g., the billing service was restarted or failed to start
first) then no further billing graphs are generated and a domain
restart is needed. As a result of this work, the properties
<tt>poolqplots.refresh-interval</tt>, <tt>poolqplots.refresh-interval-unit</tt>,
<tt>httpd.plots.pool-queue.refresh</tt> and
<tt>httpd.plots.pool-queue.refresh.unit</tt> are no longer
supported. The <tt>httpd.plots.pool-queue.min-time-step</tt> and
<tt>httpd.plots.pool-queue.min-time-step.unit</tt> properties now
also cover this configuration.
</p>
<h3>Changelog 2.6.35 to 2.6.36</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/7f5ac10">[7f5ac10]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/3231ab4">[3231ab4]</a> cell: Declassify eval failure as a bug</li>
<li><a href="https://github.com/dCache/dcache/commit/ac5421e">[ac5421e]</a> cell: Prevent interpreter stack overflow from killing the domain</li>
<li><a href="https://github.com/dCache/dcache/commit/7557544">[7557544]</a> srm: Fix listing of failed, done and cancelled jobs</li>
<li><a href="https://github.com/dCache/dcache/commit/edb4e58">[edb4e58]</a> pool: Respect LAN port range for internal srmcp transfers</li>
<li><a href="https://github.com/dCache/dcache/commit/4f91aa3">[4f91aa3]</a> Backport PortRange extensions</li>
<li><a href="https://github.com/dCache/dcache/commit/32c70b1">[32c70b1]</a> (2.6) webadmin: minor improvements to rrd4j-based pool-queue plots</li>
<li><a href="https://github.com/dCache/dcache/commit/b09bb69">[b09bb69]</a> billing: Add file size to request records</li>
<li><a href="https://github.com/dCache/dcache/commit/abfad7c">[abfad7c]</a> pool: Fix pool selection bugs in migration module</li>
<li><a href="https://github.com/dCache/dcache/commit/db82e73">[db82e73]</a> cell: Log exceptions within the correct cell context</li>
<li><a href="https://github.com/dCache/dcache/commit/87a46c5">[87a46c5]</a> Marked refresh properties obsolete.</li>
<li><a href="https://github.com/dCache/dcache/commit/c2faa9c">[c2faa9c]</a> (2.6) webadmin: fix exit login in billing refresh loop</li>
<li><a href="https://github.com/dCache/dcache/commit/0227f1d">[0227f1d]</a> Made PoolQueuePlotData enum compatible with java 8.</li>
<li><a href="https://github.com/dCache/dcache/commit/590403c">[590403c]</a> pool: Fix ISE in 'rep ls'</li>
<li><a href="https://github.com/dCache/dcache/commit/e7502b8">[e7502b8]</a> pool: Fix ISE in CacheEntryImpl#toString</li>
<li><a href="https://github.com/dCache/dcache/commit/c6003a3">[c6003a3]</a> pool: Fix race leading to false positices in pool size health checks</li>
<li><a href="https://github.com/dCache/dcache/commit/6595426">[6595426]</a> pool: Fix pool size health check in case of asynchronous release of space</li>
<li><a href="https://github.com/dCache/dcache/commit/6e2a249">[6e2a249]</a> unit-tests: ignore broken unit-test</li>
<li><a href="https://github.com/dCache/dcache/commit/8a6119d">[8a6119d]</a> chimera: fix unit tests</li>
<li><a href="https://github.com/dCache/dcache/commit/0841462">[0841462]</a> gplazma-xacml: Add handling of GID returned by GUMS in gPlazma2 XACML plugin</li>
<li><a href="https://github.com/dCache/dcache/commit/7bc17dd">[7bc17dd]</a> [maven-release-plugin] prepare release 2.6.36</li>
</ul>
<a name='35'><h2>dCache 2.6.35</h2></a>
<h3>Fixes affecting multiple services</h3>
<p>
The nfs and srm both cache replies from gPlazma to increase the
speed of authenticating and identifying the user. Previously
transient errors when communicating with gPlazma were also cached,
delaying the recovery time from such errors. Now, such errors are
not cached.
</p>
<h3>nfs</h3>
<p>
No longer trigger an NullPointerException when opening the
<tt>.(parent)()</tt> dot-command file in Chimera's root directory.
</p>
<h3>pool</h3>
<p>
Fix xrootd support for vector read. The problem was discovered with
ROOT v6, which reports errors like <tt>Single readv transfer is too
large</tt>.
</p>
<h3>xrootd</h3>
<p>
Fix problems when calculating a response to the kXR_set request. If
encountered, the problem results in the following being logged,
where <i>nnn</i> in <tt>xrootd-disk-nnn</tt> is some integer number:
</p>
<pre>
Uncaught exception in thread xrootd-disk-nnn java.lang.IllegalStateException: null
</pre>
<h3>Changelog 2.6.34 to 2.6.35</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/48f751f">[48f751f]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/3d62236">[3d62236]</a> unittests: increase timeouts and fix race in DiskSpaceAllocatorTest</li>
<li><a href="https://github.com/dCache/dcache/commit/20f303f">[20f303f]</a> chimera: fix NPE on '.(parent)()' for root inode</li>
<li><a href="https://github.com/dCache/dcache/commit/e7371f0">[e7371f0]</a> pool: Fix xrootd vector read limits</li>
<li><a href="https://github.com/dCache/dcache/commit/14c32a7">[14c32a7]</a> The gPlazma cache used by NFS and SRM caches both positive and negative replies. Unfortunately it also caches failures to communicate with gPlazma. This means that a transient timeout would be cached too, thus increasing the effect of the transient error.</li>
<li><a href="https://github.com/dCache/dcache/commit/a8664b1">[a8664b1]</a> xrootd: Upgrade to xrootd4j 1.3.5</li>
<li><a href="https://github.com/dCache/dcache/commit/85c2860">[85c2860]</a> [maven-release-plugin] prepare release 2.6.35</li>
</ul>
<a name='34'><h2>dCache 2.6.34</h2></a>
<h3>Fixes affecting multiple services</h3>
<p>
Two problems are fixed that affected those services that make use of
the grid trust store (/etc/grid-security/certificates): gplazma,
srm, gsiftp, webdav and xrootd:
</p>
<ul>
<li>
<p>
When a CA is found not to have a signing-policy file, subsequent
attempts to discover a signing-policy file will automatically
fail for one hour. Previously, if any CA was removed since the
service started then certain CAs (those using UTF-8 encoded
subject RDNs) would be placed in this not-found cache by
mistake. This resulted users with certificates from such CAs
would succeed the first time they used dCache but all subsequent
attempts would fail until the cache expires or the trust-store
is refreshed.
</p>
</li>
<li>
<p>
A minor memory leak is fixed. The amount of memory leaked was
proportial to the number of different CAs in use.
</p>
</li>
</ul>
<p>
Two problems are fixed that affected services providing GSI or plain
SSL authentication using the jGlobus library:
</p>
<ul>
<li>
<p>
dCache now supports TLS v1.2 clients when using GSI or plain SSL
using the jGlobus library.
</p>
</li>
<li>
<p>
Signal end-of-stream when remote sends a CLOSE notification.
The remote party normally sends a CLOSE notification before
terminating the TCP connection, typically send from server to
client. Previously, receiving such a notification was treated
as an error.
</p>
</li>
</ul>
<p>
Fixed thread safetly of timestamp formatting, principally used in
logging and generating the output of admin commands.
</p>
<h3>billing</h3>
<p>
Fixes a bug where the bytes read graph can show inflated values.
</p>
<h3>nfs</h3>
<p>
Fix permission check when client requests a list of some directory's
contents.
</p>
<p>
Add support for mounting when the server-side mount-point is a
sym-link.
</p>
<h3>Changelog 2.6.33 to 2.6.34</h3>
<ul class="changelog">
<li><a href="https://github.com/dCache/dcache/commit/8bd68c5">[8bd68c5]</a> build: Update to findbugs 3</li>
<li><a href="https://github.com/dCache/dcache/commit/b9dee4d">[b9dee4d]</a> [maven-release-plugin] prepare for next development iteration</li>
<li><a href="https://github.com/dCache/dcache/commit/01fc70e">[01fc70e]</a> libs: update to nfs4j-0.7.6</li>
<li><a href="https://github.com/dCache/dcache/commit/7002521">[7002521]</a> libs: update to jglobus-2.0.6-rc7.d</li>
<li><a href="https://github.com/dCache/dcache/commit/a240c40">[a240c40]</a> Avoid thread-unsafe use of SimpleDateFormatter</li>
<li><a href="https://github.com/dCache/dcache/commit/beee9fa">[beee9fa]</a> libs: update jglobus to 2.0.6-rc8.d</li>
<li><a href="https://github.com/dCache/dcache/commit/ec5652d">[ec5652d]</a> billing plots: use 'transferred' rather than 'size' for bytes</li>
<li><a href="https://github.com/dCache/dcache/commit/4d9804a">[4d9804a]</a> unit-tests: switch back to running unit-tests sequentially.</li>
<li><a href="https://github.com/dCache/dcache/commit/b84b6fa">[b84b6fa]</a> common: Fix race condition in AtomicCounter unit test</li>
<li><a href="https://github.com/dCache/dcache/commit/ca5989a">[ca5989a]</a> [maven-release-plugin] prepare release 2.6.34</li>
</ul>
<a name='33'><h2>dCache 2.6.33</h2></a>
<h3>Utilities</h3>
<p>
The <tt>chimera-cli</tt> command is updated to provide the full
usage hints if the user supplies fewer arguments than are required.
With this change, the list of available commands is now also shown.
This fix is from Onno Zweers. Thanks Onno!
</p>
<h3>pnfsmanager</h3>
<p>
Previously, the automatic schema management for Chimera failed to
create an index on the <tt>iparent</tt> column of <tt>t_dirs</tt>
table. The lack of this index results in deletions becoming
progressively slower as dCache stores more files. If your dCache
instance was created with dCache v2.3.0 or newer then it is likely
affected by this problem. Instances created with an earlier version
are not affected. The pnfsmanager service will check for the index
when it starts and add the index if it is missing. Alternatively,
the check may be performed manually using the <tt>dcache database
update</tt> command.
</p>
<h3>pool</h3>
<p>
This release fixes several issues with the sweeper:
</p>
<ul>
<li>Previously, the sweeper consumed considerable amount of memory
while freeing up space; in the worse case, this could result in the
domain running out of memory and restarting; this has been fixed.
<li>The <tt>sweeper ls</tt> command would make the pool unresponsive
while the output is generated; now, running this command no longer
prevents the pool from taking on more work.
<li>As the <tt>sweeper purge</tt>, <tt>sweeper free</tt> and <tt>rep
rmclass</tt> commands can take a long time to finish, the admin
interface does not wait for them to finish; instead, a quick
response is returned and the command continues in the background.
Previously there was no indication when such commands had finished;
now, the pool will log when the command has completed.
<li>The pool logs regular sweeper operations at lower priority; this
makes the pool logs less noisy when operating under normal
conditions.
</ul>
<h3>poolmanager</h3>
<p>
In previous versions, poolmanager would log a stack-trace if a user
attempts to open a file for reading and no read pool could be found
because a unit failed to match. Now the failure is logged as a
normal message.
</p>