This repository has been archived by the owner on Apr 30, 2019. It is now read-only.
forked from apache/bookkeeper
-
Notifications
You must be signed in to change notification settings - Fork 9
/
CHANGES.txt
1278 lines (687 loc) · 59.4 KB
/
CHANGES.txt
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
Release 4.4.0 - 2016-05-05
Non-backward compatible changes:
[none]
Backward compatible changes:
** Sub-task
* [BOOKKEEPER-438] - Move ledger id generation out of LedgerManager
* [BOOKKEEPER-634] - Provide admin tool to rename bookie identifier in ledger metadata
* [BOOKKEEPER-796] - Make bookkeeper client use reconnectable zookeeper wrapper
* [BOOKKEEPER-837] - UpdateLedgerOp - Replace AbstractFuture with SettableFuture
* [BOOKKEEPER-855] - handle session expire event in bookie
* [BOOKKEEPER-867] - New Client API to allow applications pass-in EntryId.
** Bug
* [BOOKKEEPER-578] - LedgerCacheImpl is reserving 1/3 of Heap size but allocates NonHeap memory
* [BOOKKEEPER-594] - AutoRecovery shutting down on SyncDisconnected
* [BOOKKEEPER-665] - BK client should not try to read entries from non-available bookies
* [BOOKKEEPER-695] - Some entry logs are not removed from the bookie storage
* [BOOKKEEPER-769] - Remove hedwig from source tree
* [BOOKKEEPER-793] - Move to java 7
* [BOOKKEEPER-794] - BookkeeperProtocol.Response.status is completely ignored
* [BOOKKEEPER-795] - Race condition causes writes to hang if ledger is fenced
* [BOOKKEEPER-797] - IllegalArgumentException when calling CodahaleOpStatsLogger#toOpStatsData()
* [BOOKKEEPER-799] - Distribution schedule coverage sets don't take gaps in response lists into account when writequorum > ackquorum
* [BOOKKEEPER-800] - Expose whether a ledger is closed or not
* [BOOKKEEPER-801] - Bookkeeper client tutorial
* [BOOKKEEPER-802] - Bookkeeper protocol documentation
* [BOOKKEEPER-803] - Guide for making a replicated log out of ledgers
* [BOOKKEEPER-804] - Client program is not terminated when using openLedgerNoRecovery
* [BOOKKEEPER-805] - NullPointException in bookie server when using twitter-ostrich-provider
* [BOOKKEEPER-809] - Wrong metric on LedgerDeleteOp and LedgerOpenOp
* [BOOKKEEPER-813] - BookieShell doesn't find index directory
* [BOOKKEEPER-814] - clean up temp files that generated by test cases.
* [BOOKKEEPER-815] - Ledger fence state is lost when the ledger file is evicted
* [BOOKKEEPER-821] - Failing to write lastId to ledger directories should not fail startup of bookies
* [BOOKKEEPER-823] - Clean up temp files created by hedwig tests
* [BOOKKEEPER-828] - Script for updating docs on website from master branch
* [BOOKKEEPER-831] - Outdated links in tutorial
* [BOOKKEEPER-833] - EntryLogId and EntryLogLimit should not be larger than Integer.MAX_VALUE
* [BOOKKEEPER-834] - test case error in test class TestDiskChecker
* [BOOKKEEPER-835] - Update copyright for 2015 on all active branches
* [BOOKKEEPER-838] - ForceWriteThread::run() leaks “logFile.close()” when interrupt comes
* [BOOKKEEPER-839] - AuditorPeriodicCheckTest timeout
* [BOOKKEEPER-840] - Deadlock on flushLock on compaction
* [BOOKKEEPER-848] - Use volatile for lastAddConfirmed
* [BOOKKEEPER-854] - NPE on InterleavedLedgerStorage.onRotateEntryLog
* [BOOKKEEPER-858] - Fix broken links and typos in bookkeeper documents
* [BOOKKEEPER-863] - Potential resource leak with unclosed LedgerManager in BookieShell
* [BOOKKEEPER-883] - Test timeout in bookkeeper-benchmark
* [BOOKKEEPER-890] - Concurrent modification exception when removing listener in Bookkeeper ZK ledger manager
* [BOOKKEEPER-891] - Read entries failure should trigger callback only once
* [BOOKKEEPER-893] - bookie exited with status 0 on journal I/O exception
* [BOOKKEEPER-897] - Fix findbugs warnings and missing apache license header
* [BOOKKEEPER-898] - Underreplication doesn't get triggered when a read only bookie is shut down
* [BOOKKEEPER-899] - Bookie should return to read-write mode once the disk usage drops before the threshold
* [BOOKKEEPER-900] - read only bookie runs replicator and does not release the under replicated lock after failing
* [BOOKKEEPER-902] - Test failures in EntryLogTest
* [BOOKKEEPER-904] - test BookieInitializationTest.testDuplicateBookieServerStartup fails on non-english machines
* [BOOKKEEPER-909] - ZooKeeper of LocalBookkeeper should use the correct tickTime
* [BOOKKEEPER-910] - In LocalBookkeeper, Zookeeper server and client use different host addresses
* [BOOKKEEPER-911] - Fix TestReplicationWorker test failures
* [BOOKKEEPER-913] - Fix flakiness in TestBackwardCompat
* [BOOKKEEPER-914] - ReadOnlyBookieTest.testBookieShouldTurnWritableFromReadOnly is intermettently failing
* [BOOKKEEPER-917] - LocalBookKeeperTest seems to be silently failing
* [BOOKKEEPER-919] - Auditor is sometimes marking as failed a bookie switching from available to read-only mode
* [BOOKKEEPER-921] - Typo in LocalBookkeeper: Use InetAddress.getHostAddress instead of InetAddress
* [BOOKKEEPER-925] - Fix FindBugs discovered issues in master
* [BOOKKEEPER-926] - Compacted entries are not properly synced before updating index
** Documentation
* [BOOKKEEPER-870] - Change the default value for bookie settings.
** Improvement
* [BOOKKEEPER-537] - Handling session expire event
* [BOOKKEEPER-687] - Use static final Logger for hedwig related modules
* [BOOKKEEPER-760] - Don't close PCBC proactively if bookies disappeared from zookeeper znodes.
* [BOOKKEEPER-810] - Allow to configure TCP connect timeout
* [BOOKKEEPER-811] - Recovery tool doesn't remove cookie after recovering one bookie
* [BOOKKEEPER-820] - print out fi.isFenced() in BookieShell
* [BOOKKEEPER-827] - change throttle in GarbageCollector to use either "by entry" or "by byte"
* [BOOKKEEPER-830] - Documentation has no structure
* [BOOKKEEPER-832] - Allow starting bookie in ReadOnly mode
* [BOOKKEEPER-836] - disable compaction when disk becomes full, otherwise compaction will fill up disk quickly
* [BOOKKEEPER-841] - Bookie should calculate ledgers map writing a new entry log file
* [BOOKKEEPER-844] - Add more metrics about latency and bytes characteristics on bookie operations
* [BOOKKEEPER-849] - Collect stats with sub-milliseconds precision
* [BOOKKEEPER-850] - Use nanoseconds to calculate poll timeout when doing group commit
* [BOOKKEEPER-851] - Configurable LedgerStorageImplementation
* [BOOKKEEPER-862] - Add tracing and stats to OrderedSafeExecutor for debugging slow tasks
* [BOOKKEEPER-866] - Fix compile issue when Updating junit to latest release version( 4.12) in the test of Bookkeeper-server.
* [BOOKKEEPER-877] - Script for generating patch for reviews
* [BOOKKEEPER-880] - Make LedgerHandle implement AutoCloseable
* [BOOKKEEPER-885] - Script to merge github pull request
* [BOOKKEEPER-886] - Allow to disable ledgers operation throttling
* [BOOKKEEPER-888] - Dispatch individual callbacks from journal in different threads
* [BOOKKEEPER-889] - BookKeeper client should try not to use bookies with errors/timeouts when forming a new ensemble
* [BOOKKEEPER-894] - Read ledger entries from the bookie shell
* [BOOKKEEPER-895] - bookies should not retain ledgers which no longer belong to them
* [BOOKKEEPER-920] - Extend bk-merge-pr.py to add more info to Jira ticket when merging
** New Feature
* [BOOKKEEPER-879] - Record ledger creation time
* [BOOKKEEPER-901] - Add an authentication framework
** Task
* [BOOKKEEPER-789] - Update README to reflect bookkeeper modules
* [BOOKKEEPER-790] - Add JNA license in NOTICE files
* [BOOKKEEPER-868] - Add ADD_ENTRY quorum timeout
** Test
* [BOOKKEEPER-846] - TestLedgerChecker times out
* [BOOKKEEPER-892] - Add a sanity test to help identify bookie nodes with problems that prevent writes but is still registered in ZK
Release 4.3.0 - 2014-10-03
Non-backward compatible changes:
BUGFIXES:
IMPROVEMENTS:
Backward compatible changes:
BUGFIXES:
BOOKKEEPER-564: Better checkpoint mechanism (sijie & ivank)
BOOKKEEPER-596: Ledgers are gc'ed by mistake in MSLedgerManagerFactory. (sijie & ivank)
BOOKKEEPER-595: Crash of inprocess autorecovery daemon should not take down the bookie (ivank)
BOOKKEEPER-597: Add flag to output test logs to stdout (ivank)
BOOKKEEPER-579: TestSubAfterCloseSub was put in a wrong package (sijie via ivank)
BOOKKEEPER-586: Remove recursive call in delivery manager (sijie via ivank)
BOOKKEEPER-506: Provide better topic release algorithm (sijie via ivank)
BOOKKEEPER-581: Ledger recovery doesn't work correctly when recovery adds force changing ensembles. (sijie via ivank)
BOOKKEEPER-584: Data loss when ledger metadata is overwritten (sijie via ivank)
BOOKKEEPER-617: BOOKKEEPER-544 breaks hedwig-server/bin/hedwig script (ivank)
BOOKKEEPER-619: Bookie should not create local cookie files if zookeeper is uninitialized (ivank)
BOOKKEEPER-313: Bookkeeper shutdown call from Bookie thread is not shutting down server (vinay via ivank)
BOOKKEEPER-620: PerChannelBookieClient race during channel disconnect (ivank)
BOOKKEEPER-637: NoSuchEntry exception when reading an entry from a bookie should not print ERROR level message (mmerli via ivank)
BOOKKEEPER-641: DeathWatcher thread is unnecessarily running even after bookie shutdown (rakeshr via ivank)
BOOKKEEPER-636: Latest txn logs might be deleted in a race condition which is not recoverable if BK goes down before next txn log created. (vinay via ivank)
BOOKKEEPER-635: jenkins build should highlight which lines of the patch cause raw analysis errors (ivank via sijie)
BOOKKEEPER-653: Timeout option is missing in few testcases (Rakesh via ivank)
BOOKKEEPER-686: Bookie startup will fail if one of the configured ledgerDir is full and the same is used for replaying the journal (Rakesh via sijie)
BOOKKEEPER-605: Use static Logger objects everywhere for bookkeeper (sijie via ivank)
BOOKKEEPER-614: Generic stats interface, which multiple providers can be plugged into (sijie & ivank via ivank)
BOOKKEEPER-615: Twitter stats implementation of stats interface (sijie via ivank)
BOOKKEEPER-719: Inconsistent synchronization of org.apache.bookkeeper.stats.CodahaleMetricsProvider.metrics (sijie via ivank)
BOOKKEEPER-644: Provide a bookie address wrapper (sijie via fpj)
BOOKKEEPER-763: findbugs fails to run on jenkins (ivank)
BOOKKEEPER-766: Update notice.txt files to include 2014 (ivank via fpj)
BOOKKEEPER-767: Allow loopback in tests (ivank via fpj)
BOOKKEEPER-765: bookkeeper script should fall back to java in path if JAVA_HOME is not set (ivank)
BOOKKEEPER-776: Flaky test BookieRecoveryTest (ivank via fpj)
bookkeeper-server:
BOOKKEEPER-567: ReadOnlyBookieTest hangs on shutdown (sijie via ivank)
BOOKKEEPER-549: Documentation missed for readOnlyMode support (ivank)
BOOKKEEPER-548: Document about periodic ledger checker configuration (ivank)
BOOKKEEPER-561: Findbugs report errors with openjdk (ivank via umamahesh)
BOOKKEEPER-554: fd leaking when move ledger index file (sijie, ivank via sijie)
BOOKKEEPER-568: NPE during GC with HierarchicalLedgerManager (Matteo via sijie)
BOOKKEEPER-569: Critical performance bug in InterleavedLedgerStorage (ivank via fpj)
BOOKKEEPER-559: Fix occasional failure in AuditorBookieTest (ivank via umamahesh)
BOOKKEEPER-599: NPE in PerChannelBookieClient (jiannan via sijie)
BOOKKEEPER-577: BookieFailureTest uses sync/wait()/notify() incorrectly (ivank via fpj)
BOOKKEEPER-626: BOOKIE_EXTRA_OPTS are added twice (vinay via fpj)
BOOKKEEPER-623: LedgerChecker should avoid segments of closed ledger with higher start entryId than closed entry. (vinay via sijie)
BOOKKEEPER-633: ConcurrentModificationException in RackawareEnsemblePlacementPolicy when a bookie is removed from available list (vinay via sijie)
BOOKKEEPER-563: Avoid Journal polluting page cache (Robin Dhamankar via sijie)
BOOKKEEPER-646: BookieShell readjournal command is throwing BufferUnderflowException (Rakesh via sijie)
BOOKKEEPER-652: Logger class name is wrong in LedgerCacheImpl.java (Rakesh via sijie)
BOOKKEEPER-642: Bookie returns incorrect exitcode, ExitCode.ZK_REG_FAIL is getting overridden (Rakesh via ivank)
BOOKKEEPER-663: HierarchicalLedgerManager iterator is missing some ranges and the last ledger in the range (mmerli via ivank)
BOOKKEEPER-604: Ledger storage can log an exception if GC happens concurrently. (sijie & ivank via ivank)
BOOKKEEPER-667: Client write will fail with BadMetadataVersion in case of multiple Bookie failures with AutoRecovery enabled (sijie via ivank)
BOOKKEEPER-668: Race between PerChannelBookieClient#channelDisconnected() and disconnect() calls can make clients hang while add/reading entries in case of multiple bookie failures (sijie & ivank via ivank)
BOOKKEEPER-624: Reduce logs generated by ReplicationWorker (vinay via ivank)
BOOKKEEPER-632: AutoRecovery should consider read only bookies (vinay via ivank)
BOOKKEEPER-649: Race condition in sync ZKUtils.createFullPathOptimistic() (ivank)
BOOKKEEPER-580: improve close logic (sijie & ivank via ivank)
BOOKKEEPER-446: BookKeeper.createLedger(..) should not mask the error with ZKException (sijie via ivank)
BOOKKEEPER-675: Log noise fixup before cutting 4.2.2 (ivank)
BOOKKEEPER-638: Two bookies could start at the same time to access bookie data. (sijie via ivank)
BOOKKEEPER-676: Make add asynchrounous in ledger recovery (aniruddha via ivank)
BOOKKEEPER-673: Ledger length can be inaccurate in failure case (sijie via ivank)
BOOKKEEPER-688: NPE exception in PerChannelBookieClient (ivank via sijie)
BOOKKEEPER-659: LRU page management in ledger cache. (Aniruddha, Robin Dhamankar & sijie via ivank)
BOOKKEEPER-700: GarbageCollectorThread exsiting with ArrayIndexOutOfBoundsException (rakeshr via ivank)
BOOKKEEPER-678: BookieServer shutdown hangs indefinitely at NioServerSocketChannelFactory.releaseExternalResources (rakeshr via ivank)
BOOKKEEPER-565: Make an option to separate storing entry log files from index files. (sijie via ivank)
BOOKKEEPER-711: bookkeeper-daemon.sh will not remove the pid file one successful stop (vinay via sijie)
BOOKKEEPER-712: bookkeeper script should use 'java' from JAVA_HOME (vinay via sijie)
BOOKKEEPER-709: SlowBookieTest#testSlowBookie fails intermittently (Rakesh R via fpj)
BOOKKEEPER-714: Logging channel exceptions in PerChannelBookieClient (sijie)
BOOKKEEPER-662: Major GC should kick in immediately if remaining space reaches a warning threshold (sijie via ivank)
BOOKKEEPER-710: OpenLedgerNoRecovery should watch ensemble change. (sijie via ivank)
BOOKKEEPER-429: Provide separate read and write threads in the bookkeeper server (Aniruddha via sijie)
BOOKKEEPER-696: stats collection on bookkeeper client (Aniruddha, ivank via sijie)
BOOKKEEPER-661: Turn readonly back to writable if spaces are reclaimed. (sijie via ivank)
BOOKKEEPER-720: CheckpointSource.MIN#compareTo does exactly the opposite of what it should (ivank via sijie)
BOOKKEEPER-643: Improve concurrency of entry logger (sijie & Aniruddha via ivank)
BOOKKEEPER-703: Document all the settings added in BOOKKEEPER-656 (sijie)
BOOKKEEPER-727: Names of bookie write/read threads are backwards (ivank via fpj)
BOOKKEEPER-728: Bookkeeper#Builder is not public, so can't be used outside of client package (ivank via fpj)
BOOKKEEPER-729: Bookie shouldn't exit with 0, if exiting from deathwatcher and thread death was caused by OOM (ivank via fpj)
BOOKKEEPER-725: AutoRecoveryMain should exit with error code if deathwatcher finds dead thread (ivank via sijie)
BOOKKEEPER-726: PerChannelBookieClient should print address that it failed to connect to when it fails to correct (ivank via sijie)
BOOKKEEPER-724: Shade introduces RAT error (sijie via fpj)
BOOKKEEPER-654: Bookkeeper client operations are allowed even after its closure, bk#close() (sijie via ivank)
BOOKKEEPER-717: journal should look forward to group time-out entries (sijie via ivank)
BOOKKEEPER-715: bookie: delay dropping journal cached pages (sijie via ivank)
BOOKKEEPER-730: Shade pom file missing apache license header (ivank)
BOOKKEEPER-740: AutoRecoveryMainTest#testAutoRecoverySessionLoss is failing (Rakesh via sijie)
BOOKKEEPER-432: Improve performance of entry log range read per ledger entries (yixue, sijie via ivank)
BOOKKEEPER-742: Fix for empty ledgers losing quorum. (ivank)
BOOKKEEPER-743: Periodic ledger check running too often as doc doesn't match implementation. (ivank)
BOOKKEEPER-716: padding writes for bookie journal (sijie via ivank)
BOOKKEEPER-744: Run the auditor bookie check periodically (ivank)
BOOKKEEPER-629: Support hostname based ledger metadata to help users to change IP with existing installation (rakeshr via ivank)
BOOKKEEPER-755: Incorrect number of seconds specified in a day (Joseph Redfern via fpj)
BOOKKEEPER-750: Flake in BookieAutoRecoveryTest#testEmptyLedgerLosesQuorumEventually (ivank via fpj)
BOOKKEEPER-756: Use HashedwheelTimer for request timeouts for PCBC (sijie via ivank)
BOOKKEEPER-758: Add TryReadLastAddConfirmed API (sijie via ivank)
BOOKKEEPER-751: Ensure all the bookkeeper callbacks not run under ledger handle lock (sijie via ivank)
BOOKKEEPER-745: Fix for false reports of ledger unreplication during rolling restarts. (ivank)
BOOKKEEPER-746: 5 new shell commands. List ledgers, list metadata, list underreplicated, show auditor and simpletest (ivank)
BOOKKEEPER-774: Flaky test org.apache.bookkeeper.test.ReadOnlyBookieTest.testBookieShouldTurnWritableFromReadOnly (sijie)
BOOKKEEPER-704: reconnectable zookeeper client wrapper (sijie via ivank)
BOOKKEEPER-630: Add tag to o.a.b.net.* to indict which release of hadoop they came from, move DNS to o.a.b.net.* and indent (sijie via ivank)
BOOKKEEPER-780: Findbug issue in trunk (ivank via fpj)
BOOKKEEPER-777: Flake in LedgerCloseTest (ivank via fpj)
BOOKKEEPER-718: AuditorLedgerCheckerTest is flakey (ivank via sijie)
BOOKKEEPER-736: Stats for AutoRecovery (sijie)
BOOKKEEPER-775: Improve MultipleThreadReadTest to reduce flakiness (sijie via fpj)
BOOKKEEPER-783: Avoid running out of fds in MutlipleThreadReadTest (sijie via ivank)
BOOKKEEPER-785: Fix javadoc warnings in trunk (ivank via sijie)
BOOKKEEPER-784: BookKeeperCloseTest#testLedgerCheck is failing intermittently (ivank via sijie)
BOOKKEEPER-782: Use builder pattern for Cookie (rakeshr via sijie)
BOOKKEEPER-787: Modify Cookie by removing 'znodeVersion' state/field (rakeshr via ivank)
BOOKKEEPER-773: Provide admin tool to rename bookie identifier in Cookies (rakeshr via ivank)
bookkeeper-benchmark:
BOOKKEEPER-768: fix typo 'seconds' to milliseconds in benchmark output (jialin via sijie)
BOOKKEEPER-778: Flake in TestTryReadLastConfirmed (ivank via sijie)
bookkeeper-stats-providers:
BOOKKEEPER-779: jmx reporter for codahale metrics provider (ivank via sijie)
BOOKKEEPER-786: Fix Findbugs Error In Codahale Stats Provider (sijie via fpj)
hedwig-server:
BOOKKEEPER-601: readahead cache size isn't updated correctly (sijie via fpj)
BOOKKEEPER-607: Filtered Messages Require ACK from Client Causes User Being Throttled Incorrectly Forever (sijie via ivank)
BOOKKEEPER-683: TestSubAfterCloseSub fails on 4.2 (jiannan via ivank)
BOOKKEEPER-363: Re-distributing topics among newly added hubs. (aniruddha via ivank)
hedwig-client:
BOOKKEEPER-598: Fails to compile - RESUBSCRIBE_EXCEPTION conflict (Matthew Farrellee via sijie)
BOOKKEEPER-600: shouldClaim flag isn't cleared for hedwig multiplex java client (sijie via fpj)
IMPROVEMENTS:
BOOKKEEPER-608: Make SyncThread a reusable component (ivank)
BOOKKEEPER-555: Make BookieServer use Netty rather than a custom IO server (ivank)
BOOKKEEPER-526: multiple threads for delivery manager (sijie via ivank)
BOOKKEEPER-544: Modify hedwig server tests to allow client testcases to start/stop them as part of their tests (mridul via ivank)
BOOKKEEPER-312: Implementation of JMS provider (mridul via ivank)
BOOKKEEPER-556: BookieServerMXBean#getServerState makes no sense (ivank via sijie)
BOOKKEEPER-574: Extend the bookkeeper shell to get a list of available bookies (ivank via umamahesh)
BOOKKEEPER-576: Bookie client should use netty Decoder/Encoder (ivank via sijie)
BOOKKEEPER-585: Auditor logs noisily when a ledger has been deleted (ivank via sijie)
BOOKKEEPER-573: Script to start a bookkeeper cluster (ivank via sijie)
BOOKKEEPER-557: Compiler error showing up badly with jdk 7 (ivank via sijie)
BOOKKEEPER-583: Read from a ReadOnlyBookie fails if index fileinfo is not in ledger cache (vinay via sijie)
BOOKKEEPER-611: Speed up bookkeeper tests (ivank via fpj)
BOOKKEEPER-603: Support Boost 1.53 for Hedwig Cpp Client (jiannan via ivank)
BOOKKEEPER-592: allow application to recommend ledger data locality (sijie via ivank)
BOOKKEEPER-627: LedgerDirsMonitor is missing thread name (rakesh via fpj)
BOOKKEEPER-618: Better resolution of bookie address (ivank via fpj)
BOOKKEEPER-610: Make SyncThread use an executor (ivank via sijie)
BOOKKEEPER-640: Log improvement - add shutdown/exit log message for the bookie services (rakesh via sijie)
BOOKKEEPER-666: Naming threads of ExecutorService (rakesh via sijie)
BOOKKEEPER-645: Bookkeeper shell command to get a list of readonly bookies (rakesh via sijie)
BOOKKEEPER-658: ledger cache refactor (Robin Dhamankar via sijie)
BOOKKEEPER-657: Journal Improvement (Robin Dhamankar via sijie)
BOOKKEEPER-664: Compaction increases latency on journal writes (ivank via sijie)
BOOKKEEPER-602: we should have request timeouts rather than channel timeout in PerChannelBookieClient (Aniruddha, ivank via sijie)
BOOKKEEPER-698: Bookie client closure is not considering timeoutExecutor (rakesh via sijie)
BOOKKEEPER-699: Codahale metrics implementation of stats API (ivank via sijie)
BOOKKEEPER-701: Improve exception handling of Bookkeeper threads (rakesh via sijie)
BOOKKEEPER-708: Shade protobuf library to avoid incompatible versions (rakesh, ivank via sijie)
BOOKKEEPER-732: Add env variable ENTRY_FORMATTER_CLASS to the bkenv.sh (rakesh via sijie)
BOOKKEEPER-731: Missing BOOKIE_PID_DIR and BOOKIE_STOP_TIMEOUT in env variables list (rakesh via sijie)
BOOKKEEPER-747: Implement register/unregister LedgerMetadataListener in MSLedgerManagerFactory (fpj via sijie)
BOOKKEEPER-739: Test timeouts mostly ignored (sijie via fpj)
BOOKKEEPER-697: stats collection on bookkeeper server (sijie via fpj)
BOOKKEEPER-781: Fix OOM on Hedwig Tests (sijie via fpj)
NEW FEATURE:
BOOKKEEPER-562: Ability to tell if a ledger is closed or not (fpj)
BOOKKEEPER-257: Ability to list all ledgers (fpj via ivank)
BOOKKEEPER-582: Make bookie and client use protobuf for requests (non-wire part)
(sijie via fpj)
Release 4.2.0 - 2013-01-14
Non-backward compatible changes:
BUGFIXES:
IMPROVEMENTS:
bookkeeper-server:
BOOKKEEPER-203: improve ledger manager interface to remove zookeeper dependency on metadata operations. (sijie via ivank)
BOOKKEEPER-303: LedgerMetadata should serialized using protobufs (ivank)
hedwig-client:
BOOKKEEPER-339: Let hedwig cpp client support returning message seq id for publish requests. (sijie via ivank)
Backward compatible changes:
BUGFIXES:
BOOKKEEPER-289: mvn clean doesn't remove test output files (sijie via ivank)
BOOKKEEPER-298: We run with preferIPv4Stack in the scripts but not in the tests (ivank)
BOOKKEEPER-292: Test backward compatibility automatically between versions. (ivank)
BOOKKEEPER-352: Should not use static ServerStats/BKStats instance in TestServerStats/TestBKStats (sijie via fpj)
BOOKKEEPER-338: Create Version.NEW and Version.ANY static instances of Version so that were not passing around nulls (sijie via ivank)
BOOKKEEPER-32: Clean up LOG.debug statements (Stu Hood via sijie)
BOOKKEEPER-484: Misc fixes for test scripts (ivank via fpj)
BOOKKEEPER-483: precommit tests only check toplevel rat file, not the one for submodules. (ivank via fpj)
BOOKKEEPER-533: TestSubAfterCloseSub fails strangely in tests (ivank via fpj)
BOOKKEEPER-480: Fix javac warnings (ivank via sijie)
BOOKKEEPER-481: Fix javadoc warnings (ivank via sijie)
bookkeeper-server:
BOOKKEEPER-183: Provide tools to read/check data files in bookie server (sijie via ivank)
BOOKKEEPER-307: BookieShell introduces 4 findbugs warnings (ivank via sijie)
BOOKKEEPER-322: New protobufs generates findbugs errors (ivank)
BOOKKEEPER-280: LedgerHandle.addEntry() should return an entryId (mmerli via ivank)
BOOKKEEPER-324: Flakeyness in LedgerCreateDeleteTest (ivank)
BOOKKEEPER-318: Spelling mistake in MultiCallback log message. (surendra via sijie)
BOOKKEEPER-296: It's better provide stop script for bookie (nijel via sijie)
BOOKKEEPER-294: Not able to start the bookkeeper before the ZK session timeout. (rakeshr via ivank)
BOOKKEEPER-327: System.currentTimeMillis usage in BookKeeper (uma via fpj)
BOOKKEEPER-349: Entry logger should close all the chennels which are there in Map, instead of closing only current channel. (umamaheswararao via sijie)
BOOKKEEPER-326: DeadLock during ledger recovery (rakeshr via ivank)
BOOKKEEPER-372: Check service name in bookie start/stop script. (nijel via ivank)
BOOKKEEPER-354: [BOOKKEEPER-296] [Documentation] Modify the bookkeeper start script and document the bookkeeper stop command in bookkeeperConfig.xml (Kiran BC via ivank)
BOOKKEEPER-378: ReplicationWorker may not get ZK watcher notification on UnderReplication ledger lock deletion. (umamaheswararao & ivank via ivank)
BOOKKEEPER-380: ZkLedgerUnderreplicationManager.markLedgerUnderreplicated() is adding duplicate missingReplicas while multiple bk failed for the same ledger (rakeshr via ivank)
BOOKKEEPER-381: ReadLastConfirmedOp's Logger class name is wrong (surendra via sijie)
BOOKKEEPER-382: space missed at concatenations in GarbageCollectorThread logging (Brahma via sijie)
BOOKKEEPER-337: Add entry fails with MetadataVersionException when last ensemble has morethan one bookie failures (rakeshr via ivank)
BOOKKEEPER-376: LedgerManagers should consider 'underreplication' node as a special Znode (Uma via sijie)
BOOKKEEPER-384: Clean up LedgerManagerFactory and LedgerManager usage in tests (rakeshr via ivank)
BOOKKEEPER-385: replicateLedgerFragment should throw Exceptions in error conditions (umamahesh via ivank)
BOOKKEEPER-386: It should not be possible to replicate a ledger fragment which is at the end of an open ledger (ivank & umamahesh via ivank)
BOOKKEEPER-395: HDFS dep transitively depends on a busted pom (Stu Hood via sijie)
BOOKKEEPER-387: BookKeeper Upgrade is not working. (surendra via sijie)
BOOKKEEPER-383: NPE in BookieJournalTest (sijie via ivank)
BOOKKEEPER-396: Compilation issue in TestClient.java of BenchMark ( showing this in eclipse) (umamahesh via sijie)
BOOKKEEPER-403: ReReadMetadataCb is not executed in the thread responsible for that ledger (ivank)
BOOKKEEPER-405: Let's add Thread name for ReplicationWorker thread. (umamahesh via ivank)
BOOKKEEPER-418: Store hostname of locker in replication lock (ivank)
BOOKKEEPER-417: Hierarchical zk underreplication manager should clean up its hierarchy when done to allow for fast acquisition of underreplicated entries (ivank)
BOOKKEEPER-436: Journal#rollLog may leak file handler (umamahesh via ivank)
BOOKKEEPER-424: Bookie start is failing intermittently when zkclient connection delays (rakeshr via ivank)
BOOKKEEPER-416: LedgerChecker returns underreplicated fragments for an closed ledger with no entries (ivank)
BOOKKEEPER-425: Cleanup Bookie id generation (ivank via fpj)
BOOKKEEPER-430: Remove manual bookie registration from overview (fpj via ivank)
BOOKKEEPER-466: ZooKeeper test utility sets the port number as the tickTime (ivank)
BOOKKEEPER-460: LedgerDeleteTest checks wrong place for log file (Fangmin Lv via ivank)
BOOKKEEPER-477: In ReadOnlyBookieTest, we should wait for the bookie to die before asserting on it (ivank via fpj)
BOOKKEEPER-485: TestFencing hung (ivank via fpj)
BOOKKEEPER-351: asyncAddEntry should not throw an exception (Matteo Merli via sijie)
BOOKKEEPER-291: BKMBeanRegistry uses log4j directly (fpj via ivank)
BOOKKEEPER-459: Rename metastore mock implementation to InMemory implementation (jiannan via ivank)
BOOKKEEPER-347: Provide mechanism to detect r-o bookie by the bookie clients (Vinay via ivank)
BOOKKEEPER-475: BookieRecoveryTest#testSyncBookieRecoveryToRandomBookiesCheckForDupes() iterates too much (ivank via fpj)
BOOKKEEPER-431: Duplicate definition of COOKIES_NODE (uma via fpj)
BOOKKEEPER-474: BookieReadWriteTest#testShutdown doesn't make sense (ivank via fpj)
BOOKKEEPER-465: CreateNewLog may overwrite lastLogId with smaller value (yixue, fpj via fpj)
BOOKKEEPER-498: BookieRecoveryTest.tearDown NPE (fpj)
BOOKKEEPER-497: GcLedgersTest has a potential race (ivank via sijie)
BOOKKEEPER-493: moveLedgerIndexFile might have chance pickup same directory (sijie via ivank)
BOOKKEEPER-365: Ledger will never recover if one of the quorum bookie is down forever and others dont have entry (sijie via ivank)
BOOKKEEPER-336: bookie readEntries is taking more time if the ensemble has failed bookie(s) (ivank)
BOOKKEEPER-512: BookieZkExpireTest fails periodically (ivank via sijie)
BOOKKEEPER-509: TestBookKeeperPersistenceManager failed on latest trunk (sijie via ivank)
BOOKKEEPER-496: Ensure that the auditor and replication worker will shutdown if they lose their ZK session (ivank)
BOOKKEEPER-500: Fencing doesn't work when restarting bookies. (sijie via ivank)
BOOKKEEPER-520: BookieFailureTest hangs on precommit build (ivank via sijie)
BOOKKEEPER-447: Bookie can fail to recover if index pages flushed before ledger flush acknowledged (ivank via sijie)
BOOKKEEPER-520: BookieFailureTest hangs on precommit build (sijie via fpj, jira reopened)
BOOKKEEPER-514: TestDeadLock hanging sometimes (ivank, sijie via fpj)
BOOKKEEPER-524: Bookie journal filesystem gets full after SyncThread is terminated with exception (Matteo, fpj via sijie)
BOOKKEEPER-355: Ledger recovery will mark ledger as closed with -1, in case of slow bookie is added to ensemble during recovery add (ivank)
BOOKKEEPER-534: Flakeyness in AuditorBookieTest (umamahesh via ivank)
BOOKKEEPER-542: Remove trailing spaces in IndexCorruptionTest (fpj via ivank)
BOOKKEEPER-530: data might be lost during compaction. (ivank)
BOOKKEEPER-538: Race condition in BookKeeper#close (ivank via fpj)
BOOKKEEPER-408: BookieReadWriteTest will enter the endless loop and will not leave out (ivank)
BOOKKEEPER-504: Fix findbugs warning in PendingReadOp (fpj via ivank)
hedwig-protocol:
BOOKKEEPER-394: CompositeException message is not useful (Stu Hood via sijie)
BOOKKEEPER-468: Remove <echo> from protobuf generation in hedwig (ivank)
hedwig-client:
BOOKKEEPER-274: Hedwig cpp client library should not link to cppunit which is just used for test. (sijie via ivank)
BOOKKEEPER-320: Let hedwig cpp client could publish messages using Message object instead of string. (jiannan via ivank)
BOOKKEEPER-371: NPE in hedwig hub client causes hedwig hub to shut down. (Aniruddha via sijie)
BOOKKEEPER-392: Racey ConcurrentMap usage in java hedwig-client (Stu Hood via sijie)
BOOKKEEPER-427: TestConcurrentTopicAcquisition hangs every so often (ivank)
BOOKKEEPER-434: [Hedwig CPP Client] Delay resolving default host until necessary. (sijie via ivank)
BOOKKEEPER-452: Rename ClientConfiguration multiplexing_enabled to subscription_connection_sharing_enabled (sijie via ivank)
BOOKKEEPER-454: hedwig c++ tester script assumes sh is bash (ivank)
BOOKKEEPER-470: Possible infinite loop in simple.SubscribeReconnectCallback (sijie via ivank)
BOOKKEEPER-55: SubscribeReconnectRetryTask might retry subscription endlessly when another subscription is already successfully created previously (sijie via ivank)
BOOKKEEPER-513: TestMessageFilter fails periodically (ivank)
hedwig-server:
BOOKKEEPER-302: No more messages delivered when hub server scans messages over two ledgers. (sijie via ivank)
BOOKKEEPER-330: System.currentTimeMillis usage in Hedwig (uma via sijie)
BOOKKEEPER-343: Failed to register hedwig JMX beans in test cases (sijie via ivank)
BOOKKEEPER-259: Create a topic manager using versioned write for leader election (sijie via ivank)
BOOKKEEPER-191: Hub server should change ledger to write, so consumed messages have chance to be garbage collected. (sijie via ivank)
BOOKKEEPER-439: No more messages delivered after deleted consumed ledgers. (sijie via ivank)
BOOKKEEPER-440: Make Write/Delete SubscriptionData Restricted to Version (Fangmin Lv via ivank)
BOOKKEEPER-482: Precommit is reporting findbugs errors in trunk (ivank via sijie)
BOOKKEEPER-442: Failed to deliver messages due to inconsistency between SubscriptionState and LedgerRanges. (jiannan via ivank)
BOOKKEEPER-461: Delivery throughput degrades when there are lots of publishers w/ high traffic. (sijie via ivank)
BOOKKEEPER-458: Annoy BKReadException error when changing ledger. (jiannan via fpj)
BOOKKEEPER-507: Race condition happens if closeSubscription and subscribe happened at the same time (in multiplexed client). (sijie via ivank)
BOOKKEEPER-532: AbstractSubscriptionManager#AcquireOp read subscriptions every time even it already owned the topic. (sijie via fpj)
BOOKKEEPER-531: Cache thread should wait until old entries are collected (sijie via ivank)
BOOKKEEPER-529: stopServingSubscriber in delivery manager should remove stub callbacks in ReadAheadCache (sijie via ivank)
BOOKKEEPER-543: Read zk host list in a wrong way in hedwig server (Fangmin via sijie)
BOOKKEEPER-540: #stopServingSubscriber when channel is disconnected. (Fangmin via sijie)
BOOKKEEPER-539: ClientNotSubscribedException & doesn't receive enough messages in TestThrottlingDelivery#testServerSideThrottle (sijie)
BOOKKEEPER-503: The test case of TestThrottlingDelivery#testServerSideThrottle failed sometimes (jiannan & sijie via ivank)
IMPROVEMENTS:
BOOKKEEPER-467: Allocate ports for testing dynamically (ivank)
BOOKKEEPER-471: Add scripts for preCommit testing (ivank)
BOOKKEEPER-476: Log to file during tests (ivank via fpj)
BOOKKEEPER-491: Hedwig doc for configuration (fpj, sijie via fpj)
BOOKKEEPER-495: Revise BK config doc (fpj, ivank via fpj)
BOOKKEEPER-523: Every test should have a timeout (ivank, sijie via fpj)
BOOKKEEPER-541: Add guava to notice file (ivank via fpj)
bookkeeper-server:
BOOKKEEPER-328: Bookie DeathWatcher is missing thread name (Rakesh via sijie)
BOOKKEEPER-2: bookkeeper does not put enough meta-data in to do recovery properly (ivank via sijie)
BOOKKEEPER-317: Exceptions for replication (ivank via sijie)
BOOKKEEPER-246: Recording of underreplication of ledger entries (ivank)
BOOKKEEPER-247: Detection of under replication (ivank)
BOOKKEEPER-299: Provide LedgerFragmentReplicator which should replicate the fragments found from LedgerChecker (umamahesh via ivank)
BOOKKEEPER-248: Rereplicating of under replicated data (umamahesh via ivank)
BOOKKEEPER-304: Prepare bookie vs ledgers cache and will be used by the Auditor (rakeshr via ivank)
BOOKKEEPER-272: Provide automatic mechanism to know bookie failures (rakeshr via ivank)
BOOKKEEPER-300: Create Bookie format command (Vinay via sijie)
BOOKKEEPER-208: Separate write quorum from ack quorum (ivank)
BOOKKEEPER-325: Delay the replication of a ledger if RW found that its last fragment is in underReplication. (umamahesh via ivank)
BOOKKEEPER-388: Document bookie format command (kiran_bc via ivank)
BOOKKEEPER-278: Ability to disable auto recovery temporarily (rakeshr via ivank)
BOOKKEEPER-319: Manage auditing and replication processes (Vinay via ivank)
BOOKKEEPER-315: Ledger entries should be replicated sequentially instead of parallel. (umamahesh via ivank)
BOOKKEEPER-345: Detect IOExceptions on entrylogger and bookie should consider next ledger dir(if any) (Vinay via ivank)
BOOKKEEPER-346: Detect IOExceptions in LedgerCache and bookie should look at next ledger dir(if any) (Vinay via ivank)
BOOKKEEPER-444: Refactor pending read op to make speculative reads possible (ivank)
BOOKKEEPER-204: Provide a MetaStore interface, and a mock implementation. (Jiannan Wang via ivank)
BOOKKEEPER-469: Remove System.out.println from TestLedgerManager (ivank via fpj)
BOOKKEEPER-205: implement a MetaStore based ledger manager for bookkeeper client. (jiannan via ivank)
BOOKKEEPER-426: Make auditor Vote znode store a protobuf containing the host that voted (ivank)
BOOKKEEPER-428: Expose command options in bookie scripts to disable/enable auto recovery temporarily (rakesh,ivank via fpj)
BOOKKEEPER-511: BookieShell is very noisy (ivank via sijie)
BOOKKEEPER-375: Document about Auto replication service in BK (umamahesh via ivank)
BOOKKEEPER-490: add documentation for MetaStore interface (sijie, ivank via sijie)
BOOKKEEPER-463: Refactor garbage collection code for ease to plugin different GC algorithm. (Fangmin, ivank, fpj via sijie)
BOOKKEEPER-409: Integration Test - Perform bookie rereplication cycle by Auditor-RW processes (rakeshr via ivank)
BOOKKEEPER-293: Periodic checking of ledger replication status (ivank)
BOOKKEEPER-472: Provide an option to start Autorecovery along with Bookie Servers (umamahesh via ivank)
BOOKKEEPER-341: add documentation for bookkeeper ledger manager interface. (sijie via ivank)
hedwig-server:
BOOKKEEPER-250: Need a ledger manager like interface to manage metadata operations in Hedwig (sijie via ivank)
BOOKKEEPER-329: provide stop scripts for hub server (sijie via ivank)
BOOKKEEPER-331: Let hedwig support returning message seq id for publish requests. (Mridul via sijie)
BOOKKEEPER-340: Test backward compatibility for hedwig between different versions. (sijie via ivank)
BOOKKEEPER-283: Improve Hedwig Console to use Hedwig Metadata Manager. (sijie via ivank)
BOOKKEEPER-332: Add SubscriptionPreferences to record all preferences for a subscription (sijie via ivank)
BOOKKEEPER-333: server-side message filter (sijie via ivank)
BOOKKEEPER-252: Hedwig: provide a subscription mode to kill other subscription channel when hedwig client is used as a proxy-style server. (sijie via ivank)
BOOKKEEPER-397: Make the hedwig client in RegionManager configurable. (Aniruddha via sijie)
BOOKKEEPER-367: Server-Side Message Delivery Flow Control (sijie via ivank)
BOOKKEEPER-415: Rename DeliveryThrottle to MessageWindowSize (ivank via sijie)
BOOKKEEPER-422: Simplify AbstractSubscriptionManager (stu via fpj)
BOOKKEEPER-435: Create SubscriptionChannelManager to manage all subscription channel (sijie via ivank)
BOOKKEEPER-411: Add CloseSubscription Request for multiplexing support (sijie via ivank)
BOOKKEEPER-441: InMemorySubscriptionManager should back up top2sub2seq before change it (Yixue via ivank)
BOOKKEEPER-479: Fix apache-rat issues in tree (ivank via fpj)
BOOKKEEPER-457: Create a format command for Hedwig to cleanup its metadata. (sijie via ivank)
BOOKKEEPER-487: Add existed hub server settings to configuration template file (sijie via ivank)
BOOKKEEPER-389: add documentation for message filter. (sijie via ivank)
BOOKKEEPER-399: Let hub server configure write quorum from ack quorum. (sijie via fpj)
BOOKKEEPER-342: add documentation for hedwig metadata manager interface. (sijie, ivank via sijie)
BOOKKEEPER-522: TestHedwigHub is failing silently on Jenkins (ivank via sijie)
BOOKKEEPER-262: Implement a meta store based hedwig metadata manager. (jiannan via ivank)
BOOKKEEPER-310: Changes in hedwig server to support JMS spec (ivank via sijie)
hedwig-client:
BOOKKEEPER-306: Change C++ client to use gtest for testing (ivank via sijie)
BOOKKEEPER-334: client-side message filter for java client. (sijie via ivank)
BOOKKEEPER-335: client-side message filter for cpp client. (sijie via ivank)
BOOKKEEPER-364: re-factor hedwig java client to support both one-subscription-per-channel and multiplex-subscriptions-per-channel. (sijie via ivank)
BOOKKEEPER-143: Add SSL support for hedwig cpp client (sijie via ivank)
BOOKKEEPER-413: Hedwig C++ client: Rename RUN_AS_SSL_MODE to SSL_ENABLED (ivank via sijie)
BOOKKEEPER-369: re-factor hedwig cpp client to provide better interface to support both one-subscription-per-channel and multiple-subscriptions-per-channel. (sijie via ivank)
BOOKKEEPER-368: Implementing multiplexing java client. (sijie via ivank)
BOOKKEEPER-370: implement multiplexing cpp client. (sijie via ivank)
BOOKKEEPER-453: Extract commonality from MultiplexSubscribeResponseHandler and SimpleSubscribeResponseHandler and put into an abstract class (sijie via ivank)
BOOKKEEPER-404: Deprecate non-SubscriptionOptions Subscriber Apis (ivank via sijie)
Release 4.1.0 - 2012-06-07
Non-backward compatible changes:
BUGFIXES:
IMPROVEMENTS:
Backward compatible changes:
BUGFIXES:
BOOKKEEPER-145: Put notice and license file for distributed binaries in SVN (ivank)
BOOKKEEPER-254: Bump zookeeper version in poms (ivank)
BOOKKEEPER-72: Fix warnings issued by FindBugs (ivank)
BOOKKEEPER-238: Add log4j.properties in conf/ for bin packages (ivank)
bookkeeper-server/
BOOKKEEPER-142: Parsing last log id is wrong, which may make entry log files overwritten (Sijie Gou via ivank)
BOOKKEEPER-141: Run extracting ledger id from entry log files in GC thread to speed up bookie restart (Sijie Gou via ivank)
BOOKKEEPER-148: Jenkins build is failing (ivank via fpj)
BOOKKEEPER-40: BookieClientTest fails intermittantly (fpj via ivank)
BOOKKEEPER-150: Entry is lost when recovering a ledger with not enough bookies. (Sijie Guo via ivank)
BOOKKEEPER-153: Ledger can't be opened or closed due to zero-length metadata (Sijie Guo via ivank)
BOOKKEEPER-23: Timeout requests (ivank)
BOOKKEEPER-161: PerChannelBookieClient tries to reuse HashedWheelTimer, throws Exception (ivank)
BOOKKEEPER-167: PerChannelBookieClient doesn't use ClientConfiguration (Sijie Guo via ivank)
BOOKKEEPER-156: BookieJournalRollingTest failing (Sijie Guo via ivank)
BOOKKEEPER-162: LedgerHandle.readLastConfirmed does not work (fpj)
BOOKKEEPER-152: Can't recover a ledger whose current ensemble contain failed bookie. (ivank)
BOOKKEEPER-171: ServerConfiguration can't use more than one directory for ledgers. (ivank via sijie)
BOOKKEEPER-170: Bookie constructor starts a number of threads. (ivank via fpj)
BOOKKEEPER-169: bookie hangs on reading header when encountering partial header index file (sijie via ivank)
BOOKKEEPER-174: Bookie can't start when replaying entries whose ledger were deleted and garbage collected. (sijie via ivank)
BOOKKEEPER-177: Index file is lost or some index pages aren't flushed. (sijie via ivank)
BOOKKEEPER-113: NPE In BookKeeper test (fpj via ivank)
BOOKKEEPER-176: HierarchicalBookieFailureTest Hung (ivank via fpj)
BOOKKEEPER-180: bookie server doesn't quit when running out of disk space (sijie via ivank)
BOOKKEEPER-185: Remove bookkeeper-server dependency on hadoop-common (ivank)
BOOKKEEPER-184: CompactionTest failing on Jenkins (sijie via ivank)
BOOKKEEPER-182: Entry log file is overwritten when fail to read lastLogId. (sijie via ivank)
BOOKKEEPER-186: Bookkeeper throttling - permits is not released when read has failed from all replicas (Rakesh R via sijie)
BOOKKEEPER-189: AbstractZkLedgerManager doesn't disregard cookies (ivank via sijie)
BOOKKEEPER-195: HierarchicalLedgerManager doesn't consider idgen as a "specialNode" (ivank)
BOOKKEEPER-190: Add entries would fail when number of open ledgers reaches more than openFileLimit. (sijie via ivank)
BOOKKEEPER-194: Get correct latency for addEntry operations for JMX. (sijie via ivank)
BOOKKEEPER-166: Bookie will not recover its journal if the length prefix of an entry is truncated (ivank)
BOOKKEEPER-193: Ledger is garbage collected by mistake. (sijie, ivank via sijie)
BOOKKEEPER-198: replaying entries of deleted ledgers would exhaust ledger cache. (sijie)
BOOKKEEPER-112: Bookie Recovery on an open ledger will cause LedgerHandle#close on that ledger to fail (sijie)
BOOKKEEPER-135: Fencing does not check the ledger masterPasswd (ivank)
BOOKKEEPER-212: Bookie stops responding when creating and deleting many ledgers (sijie via fpj)
BOOKKEEPER-211: Bookie fails to to start (sijie)
BOOKKEEPER-200: Fix format and comments (fpj)
BOOKKEEPER-216: Bookie doesn't exit with right exit code (sijie via ivank)
BOOKKEEPER-196: Define interface between bookie and ledger storage (ivank)
BOOKKEEPER-213: PerChannelBookieClient calls the wrong errorOut function when encountering an exception (Aniruddha via sijie)
BOOKKEEPER-231: ZKUtil.killServer not closing the FileTxnSnapLog from ZK. (Uma Maheswara Rao G via sijie)
BOOKKEEPER-232: AsyncBK tests failing (umamaheswararao via ivank)
BOOKKEEPER-229: Deleted entry log files would be garbage collected again and again. (sijie via fpj)
BOOKKEEPER-242: Bookkeeper not able to connect other zookeeper when shutdown the zookeeper server where the BK has connected. (sijie & rakeshr via ivank)
BOOKKEEPER-234: EntryLogger will throw NPE, if any dir does not exist or IO Errors. (umamaheswararao via ivank)
BOOKKEEPER-235: Bad syncing in entrylogger degrades performance for many concurrent ledgers (ivank via fpj)
BOOKKEEPER-224: Fix findbugs in bookkeeper-server component (ivank)
BOOKKEEPER-251: Noise error message printed when scanning entry log files those have been garbage collected. (sijie via ivank)
BOOKKEEPER-266: Review versioning documentation (ivank)
BOOKKEEPER-258: CompactionTest failed (ivank via sijie)
BOOKKEEPER-273: LedgerHandle.deleteLedger() should be idempotent (Matteo Merli via ivank)
BOOKKEEPER-281: BKClient is failing when zkclient connection delays (ivank via sijie)
BOOKKEEPER-279: LocalBookKeeper is failing intermittently due to zkclient connection establishment delay (Rakesh R via sijie)