summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/linearstore/ISSUES
blob: bcf32908577b7a3a0b04cc30feaee79b7159526e (plain)
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
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

Linear Store issues:

Current/pending:
================
 Q-JIRA RHBZ     Description / Comments
 ------ -------  ----------------------
   5359 -        Linearstore: Implement new management schema and wire into store
   5360 -        Linearstore: Evaluate and rework logging to produce a consistent log outputConsistent logging
   5361 -        Linearstore: No tests for linearstore functionality currently exist
                   * No existing tests for linearstore:
                   ** Basic broker-level tests for txn and non-txn recovery
                   ** Store-level tests which check write boundary conditions
                   ** EFP tests, including file recovery, error management
                   ** Unit tests
                   ** Basic performance tests
   5362 -        Linearstore: No store tools exist for examining the journals
                   svn r.1558888 2014-01-09: WIP checkin for linearstore version of qpid_qls_analyze. Needs testing and tidy-up.
                   * Store analysis and status
                   * Recovery/reading of message content
                   * Empty file pool status and management
   5464 -        [linearstore] Incompletely created journal files accumulate in EFP
   5479 1053701  [linearstore] Using recovered store results in "JERR_JNLF_FILEOFFSOVFL: Attempted to increase submitted offset past file size. (JournalFile::submittedDblkCount)" error message
   5480 1053749  [linearstore] Recovery of store failure with "JERR_MAP_NOTFOUND: Key not found in map." error message
   5484 1035843  Slow performance for producers
   -    1036026  [LinearStore] Qpid linear store unable to create durable queue - framing-error: Queue <q-name>: create() failed: jexception 0x0000
                   UNABLE TO REPRODUCE - but Frantizek has additional info
   -    1039522  Qpid crashes while recovering from linear store around apid::linearstore::journal::JournalFile::getFqFileName() including enq_rec::decode() threw JERR_JREC_BAD_RECTAIL
                   * Possible dup of 1039525
                   * May be fixed by QPID-5483 - waiting for needinfo
   -    1039525  Qpid crashes while recovering from linear store around apid::linearstore::journal::jexception::format including enq_rec::decode() threw JERR_JREC_BAD_REC_TAIL
                   * Possible dup of 1039522
                   * May be fixed by QPID-5483 - waiting for needinfo

Fixed/closed:
=============
 Q-JIRA RHBZ     Description / Comments
 ------ -------  ----------------------
   5357 1052518  Linearstore: Empty file recycling not functional
                   svn r.1545563 2013-11-26: Propsed fix
   5358 1052727  Linearstore: Checksums not implemented in record tail
                   svn r.1547601 2013-12-03: Propsed fix
   5387 1036071  Linearstore: Segmentation fault when deleting queue
                   svn r.1547641 2013-12-03: Propsed fix
   5388 1035802  Linearstore: Segmentation fault when recovering empty queue
                   svn r.1547921 2013-12-04: Propsed fix
NO-JIRA -        Added missing Apache copyright/license text
                   svn r.1551304 2013-12-16: Propsed fix
   5425 1052445  Linearstore: Transaction Prepared List (TPL) fails with jexception 0x0402 AtomicCounter::addLimit() threw JERR_JNLF_FILEOFFSOVFL
                   svn r.1551361 2013-12-16: Proposed fix
   5442 1039949  Linearstore: Dtx recover test fails
                   svn r.1552772 2013-12-20: Proposed fix
   5444 1052775  Linearstore: Recovering from qpid-txtest fails with "Inconsistent TPL 2PC count" error message
                   svn r.1553148 2013-12-23: Proposed fix
   -    1038599  [LinearStore] Abort when deleting used queue after restart
                   CLOSED-NOTABUG 2014-01-06
   5460 1051097  [linearstore] Recovery of store which contains prepared but incomplete transactions results in message loss
                   svn r.1556892 2014-01-09: Proposed fix
   5473 1051924  [linearstore] Recovery of journal in which last logical file contains truncated record causes crash
                   svn r.1557620 2014-01-12: Proposed fix
   5483 -        [linearstore] Recovery of journal with partly written record fails with "JERR_JREC_BADRECTAIL: Invalid data record tail" error message
                   svn r.1558589 2014-01-15: Proposed fix
                   * May be linked to RHBZ 1039522 - waiting for needinfo
                   * May be linked to RHBZ 1039525 - waiting for needinfo

Future:
=======
* One journal file lost when queue deleted. All files except for one are recycled back to the EFP.
* Complete exceptions - several exceptions thrown using jexception have no exception numbers
* Investigate ability of store to detect missing journal files, especially from logical end of a journal
* Investigate ability of store to handle file muddle-ups (ie journal files from EFP which are not zeroed or other journals)
* Look at improving the efficiency of recovery - right now the entire store is read once, and then each recovered record xid and data is read again

Code tidy-up
------------
* Remove old comments
* Use c++ cast templates instead of (xxx)y
* Member names: xxx_
* Rename classes, functions and variables to camel-case
* Add Doxygen docs to classes