forked from apache/jackrabbit-oak
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES.txt
309 lines (278 loc) · 13.2 KB
/
RELEASE-NOTES.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
Release Notes -- Apache Jackrabbit Oak -- Version 1.3.0
Introduction
------------
Jackrabbit Oak is a scalable, high-performance hierarchical content
repository designed for use as the foundation of modern world-class
web sites and other demanding content applications.
Apache Jackrabbit Oak 1.3.0 is an unstable release cut directly from
Jackrabbit Oak trunk, with a focus on new features and other
improvements. For production use we recommend the latest stable 1.2.x
release.
The Oak effort is a part of the Apache Jackrabbit project.
Apache Jackrabbit is a project of the Apache Software Foundation.
Changes in Oak 1.3.0
-----------------------
Sub-task
[OAK-1860] - unit tests for concurrent DocumentStore access
[OAK-2630] - Cleanup Oak jobs on buildbot
[OAK-2700] - Cleanup usages of mk-api
[OAK-2701] - Move oak-mk-api to attic
[OAK-2702] - Move oak-mk to attic
[OAK-2713] - High memory usage of CompactionMap
[OAK-2734] - Compaction does not finish on repository with
continuous writes
[OAK-2756] - Move mk-package of oak-commons to attic
[OAK-2770] - Configurable mode for backgroundOperationLock
[OAK-2781] - log node type changes and the time needed to traverse
the repository
[OAK-2800] - Make contributions to reference graph from TarWriter
less conservative
[OAK-2801] - Clear excess references before cleanup
[OAK-2813] - Create a benchmark for measuring the lag of async
index
[OAK-2826] - Refactor ListeneableFutureTask to commons
[OAK-2850] - Flag states from revision of an external change
[OAK-2856] - improve RDB diagnostics
[OAK-2862] - CompactionMap#compress() inefficient for large
compaction maps
[OAK-2901] - RDBBlobStoreTest should be able to run against
multiple DB types
[OAK-2915] - add (experimental) support for Apache Derby
[OAK-2916] - RDBDocumentStore: use of "GREATEST" in SQL apparently
doesn't have test coverage in unit tests
[OAK-2918] - RDBConnectionHandler: handle failure on setReadOnly()
gracefully
[OAK-2923] - RDB/DB2: change minimal supported version from 10.5
to 10.1, also log decimal version numbers as well
[OAK-2930] - RDBBlob/DocumentStore throws NPE when used after
being closed
[OAK-2931] - RDBDocumentStore: mitigate effects of large query
result sets
[OAK-2938] - Estimation of required memory for compaction is off
[OAK-2945] - Sampling rate feature CompactionGainEstimate is not
efficient
[OAK-2946] - Sampling rate feature CompactionGainEstimate is not
efficient
[OAK-2949] - RDBDocumentStore: no custom SQL needed for GREATEST
[OAK-2950] - RDBDocumentStore: conditional fetch logic is reversed
[OAK-2952] - RDBConnectionHandler: log failures on setReadOnly()
only once
[OAK-2954] - Add MBean to enforce session refresh on all open
sessions
Bug
[OAK-1763] - OrderedIndex does not comply with JCR's compareTo
semantics
[OAK-2165] - Observation tests sporadically failing
[OAK-2374] - Sporadic test failure of OSGiIT.listBundles on
Buildbot
[OAK-2379] - Regular CI failures for DOCUMENT_RDB on buildbot
[OAK-2569] - LuceneIndex#loadDocs can throw
IllegalArgumentException
[OAK-2636] - Issues with Maximum node name size and path size
[OAK-2641] - FilterImpl violates nullability contract
[OAK-2662] - SegmentOverflowException in HeavyWriteIT on Jenkins
[OAK-2663] - Unique property index can trigger OOM during upgrade
of large repository
[OAK-2712] - Possible null-dereference when calling
ItemImpl#perform
[OAK-2723] - FileStore does not scale because of precomputed graph
on TarReader
[OAK-2732] - NPE in lucene search
[OAK-2740] - TreeTypeProvider treates optimized node type
definition info as Ac-Content
[OAK-2750] - Indexing for sorting can fail if value is too long
[OAK-2752] - SegmentIdTable can sometimes hang when calling
getSegmentId(msb, lsb)
[OAK-2759] - Empty commit causes deserialization issue in
LocalDiffCache leading to cache corruption
[OAK-2765] - Fix high priority FindBugs reports for oak-solr
[OAK-2778] - DocumentNodeState is null for revision rx-x-x
[OAK-2780] - DocumentMK.commit() does not check if node exists on
property patch
[OAK-2782] - Tika not able to load class in case of custom config
[OAK-2784] - Remove Nullable annotation in Predicates of
BackgroundObserver
[OAK-2796] - Persistent cache: old files not removed sometimes
[OAK-2798] - OakIndexInput should unset OakIndexFile's byte[] upon
close
[OAK-2799] - OakIndexInput cloned instances are not closed
[OAK-2803] - RepositoryUpgrade.copy() doesn't create correct
templates for residual item definitions
[OAK-2811] - Oak + data store: NPE in
SegmentNodeStoreService.deactivate() leads to data store not
shutting down properly
[OAK-2815] - Persistent cache may block commit
[OAK-2817] - TARMK Cold Standby cleanup removes too many binary
segments
[OAK-2820] - SolrServerProviderService should leverage
OakSolrServer
[OAK-2827] - [oak-blob-cloud] Test Failures: Add joda-time
dependency explicitly with definite version range
[OAK-2831] - Test classes extending AbstractImportTest do not
always shut down repository instances properly
[OAK-2832] - Test failure: DefaultAnalyzersConfigurationTest
[OAK-2838] - Test failure: OSGiIT
[OAK-2840] - Login Benchmark Test broken due to OAK-2128
[OAK-2845] - Memory leak in ObserverTracker#removedService
[OAK-2855] - CopyOnReadDirectory mode might delete a valid local
file upon close
[OAK-2863] - No matching result found with use of relative
property names in fulltext search in some cases
[OAK-2867] - CommitQueue.done() may fail to remove commit
[OAK-2869] - RepositorySidegrade: AsyncIndexUpdate throws a
IllegalArgumentException after migrating from segment to document
store
[OAK-2872] - ExternalLoginModule should clear state when login was
not successful
[OAK-2873] - Performance problems with many "or" conditions
[OAK-2880] - NPE in SegmentWriter.writeMap
[OAK-2890] - SegmentBlob does not return blobId for
contentIdentity
[OAK-2900] - Trying to remove a non existing element from a map
might cause NPE
[OAK-2913] - TokenLoginModule should clear state in case of a
login exception
[OAK-2933] - AccessDenied when modifying transiently moved item
with too many ACEs
Improvement
[OAK-1970] - Optimize the diff logic for large number of children
case
[OAK-2006] - Verify the maven baseline output and fix the warnings
[OAK-2016] - Make blob gc max age configurable in
SegmentNodeStoreService
[OAK-2627] - Optimize equals in AbstractBlob
[OAK-2657] - Repository Upgrade could shut down the source
repository early
[OAK-2685] - Track root state revision when reading the tree
[OAK-2690] - Add optional
UserConfiguration#getUserPrincipalProvider()
[OAK-2711] - Troublesome AbstractTree.toString
[OAK-2737] - RepositoryUpgrade.copy() should allow custom commit
hooks
[OAK-2738] - Possible StackOverflowException with many "or"
conditions
[OAK-2743] - Log time taken in couple of places in indexing
[OAK-2748] - Oak Implementation for JCR-3836 and JCR-3837 (getting
authorizable by type)
[OAK-2749] - Provide a "different lane" for slow indexers in async
indexing
[OAK-2753] - Use increasing batch size for sorted queries in
LucenePropertyIndex
[OAK-2754] - Use non unique PathCursor in LucenePropertyIndex
[OAK-2755] - Consolidated JMX view of all EventListener related
statistics
[OAK-2757] - Failed to read from tar file
[OAK-2762] - Configurable maxLockTryTimeMS
[OAK-2763] - Remove ChangeDispatcher in DocumentNodeStoreBranch
[OAK-2766] - Log time to acquire backgroundOperationLock in
background operation tasks
[OAK-2769] - Add progress log to VersionGC in DocumentNodeStore
[OAK-2783] - Make LDAP connection pool 'testOnBorrow' configurable
[OAK-2789] - Enable timeout for MongoDB queries
[OAK-2791] - Change default for
oak.mongo.maxDeltaForModTimeIdxSecs
[OAK-2804] - Conditional remove on DocumentStore
[OAK-2806] - Provide property path in warning log for large multi
value property
[OAK-2809] - Save Lucene directory listing as array property
[OAK-2814] - Refactor the optimize logic regarding path include
and exclude to avoid duplication
[OAK-2818] - Log _lastRev background updates
[OAK-2822] - Release merge lock in retry loop
[OAK-2823] - Change default for oak.maxLockTryTimeMultiplier
[OAK-2830] - LIRS cache: avoid concurrent loading of the same
entry if loading is slow
[OAK-2834] - LIRS cache: allow to disable it when using the
persistent cache
[OAK-2837] - Persistent cache: avoid repeated log message after
closing
[OAK-2839] - Without "counter" index, some queries use traversal
instead of an index
[OAK-2841] - Log NodePropBundle id for which no bundle is found
[OAK-2854] - provide more insight on executors during shutdown
[OAK-2861] - TARMK Cold Standby better binary decoding
[OAK-2865] - Log stats around time spent in extracting text from
binaries
[OAK-2866] - Switch Thread context classloader for default config
parsing also
[OAK-2868] - Bypass CommitQueue for branch commits
[OAK-2870] - Introduce a SegmentNodeStoreBuilder to help wire a
SegmentNodeStore
[OAK-2883] - Tests for SegmentNodeStoreService
[OAK-2886] - Exclude image/tiff from text extraction
[OAK-2887] - Add support for generating mongo export command to
oak-mongo
[OAK-2889] - Ignore "order by jcr:score desc" in the query engine
(for "union" queries)
[OAK-2893] - RepositoryUpgrade.copy() should optionally continue
on errors.
[OAK-2895] - Avoid accessing binary content if the mimeType is
excluded from indexing
[OAK-2898] - DataStoreBlobStore should expose a buffer input
stream for getInputStream call
[OAK-2899] - Update to Jackrabbit 2.10.1
[OAK-2908] - infrastructure for running longevity tests
[OAK-2912] - Clear the modified and deleted map in PermissionHook
after processing is complete
[OAK-2917] - Allow skipping of the baseline check when tests are
skipped
[OAK-2955] - Extend ACL-level principal validation for configured
administrative principals
[OAK-2957] - LIRS cache: config options for segment count and
stack move distance
New Feature
[OAK-104] - HTTP bindings for Oak
[OAK-2247] - CopyOnWriteDirectory implementation for Lucene for
use in indexing
[OAK-2599] - Allow excluding certain paths from getting indexed
for particular index
[OAK-2812] - RevisionGC benchmark
[OAK-2882] - Support migration without access to DataStore
Task
[OAK-1956] - Set correct OSGi package export version
[OAK-2677] - Set ProviderType and ConsumerType annotation on
exported items
[OAK-2678] - Update base version for checking proper package
export versions
[OAK-2697] - Retire oak-mk-api and oak-mk
[OAK-2802] - avoid NodeTypeDefDiff code duplication
[OAK-2925] - Reorganise scalability classes
[OAK-2935] - Update Sling Testing Mocks to 1.3.0
Test
[OAK-2742] - Add UserImport tests that run with a non-admin
session
[OAK-2764] - ExternalSharedStoreIT occasionally fails on travis
[OAK-2790] - Remove ignored tests related to MicroKernel
[OAK-2851] - Missing test dependency to jackrabbit-data tests
artifact
In addition to the above-mentioned changes, this release contains
all changes included up to the Apache Jackrabbit Oak 1.2.x release.
For more detailed information about all the changes in this and other
Oak releases, please see the Oak issue tracker at
https://issues.apache.org/jira/browse/OAK
Release Contents
----------------
This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.md file for instructions on how to build this release.
The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
http://www.apache.org/dist/jackrabbit/KEYS.
About Apache Jackrabbit Oak
---------------------------
Jackrabbit Oak is a scalable, high-performance hierarchical content
repository designed for use as the foundation of modern world-class
web sites and other demanding content applications.
The Oak effort is a part of the Apache Jackrabbit project.
Apache Jackrabbit is a project of the Apache Software Foundation.
For more information, visit http://jackrabbit.apache.org/oak
About The Apache Software Foundation
------------------------------------
Established in 1999, The Apache Software Foundation provides organizational,
legal, and financial support for more than 140 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache License
enables individual and commercial users to easily deploy Apache software;
the Foundation's intellectual property framework limits the legal exposure
of its 3,800+ contributors.
For more information, visit http://www.apache.org/