Skip to content

Commit 7c2ccd7

Browse files
authored
Merge pull request #229 from evolvedbinary/7.x.x/hotfix/running-query-lock
[7.x.x] Only lock queries whilst they are compiling
2 parents 1fcf46b + 3a8c6ab commit 7c2ccd7

84 files changed

Lines changed: 3918 additions & 1801 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

exist-core/pom.xml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,12 +1044,15 @@
10441044
<include>src/test/java/org/exist/security/internal/BackupRestoreSecurityPrincipalsTest.java</include>
10451045
<include>src/main/java/org/exist/security/internal/RealmImpl.java</include>
10461046
<include>src/main/java/org/exist/security/internal/SecurityManagerImpl.java</include>
1047+
<include>src/main/java/org/exist/security/internal/SMEvents.java</include>
10471048
<include>src/main/java/org/exist/security/internal/aider/UnixStylePermissionAider.java</include>
10481049
<include>src/main/java/org/exist/security/management/AccountsManagement.java</include>
10491050
<include>src/main/java/org/exist/security/management/GroupsManagement.java</include>
10501051
<include>src/main/java/org/exist/source/AbstractSource.java</include>
1052+
<include>src/main/java/org/exist/source/DBSource.java</include>
10511053
<include>src/main/java/org/exist/source/Source.java</include>
10521054
<include>src/main/java/org/exist/source/SourceFactory.java</include>
1055+
<include>src/test/java/org/exist/source/SourceFactoryTest.java</include>
10531056
<include>src/main/java/org/exist/source/URLSource.java</include>
10541057
<include>src/test/java/org/exist/stax/EmbeddedXMLStreamReaderTest.java</include>
10551058
<include>src/test/java/org/exist/storage/AbstractUpdateTest.java</include>
@@ -1117,6 +1120,8 @@
11171120
<include>src/test/resources-filtered/org/exist/storage/statistics/conf.xml</include>
11181121
<include>src/main/java/org/exist/storage/sync/SyncTask.java</include>
11191122
<include>src/test/java/org/exist/storage/util/PauseFunction.java</include>
1123+
<include>src/main/java/org/exist/test/ExistEmbeddedServer.java</include>
1124+
<include>src/main/java/org/exist/test/ExistWebServer.java</include>
11201125
<include>src/main/java/org/exist/test/ExistXmldbEmbeddedServer.java</include>
11211126
<include>src/main/java/org/exist/test/TransactionTestDSL.java</include>
11221127
<include>src/main/java/org/exist/test/XQueryAssertions.java</include>
@@ -1262,11 +1267,15 @@
12621267
<include>src/test/java/org/exist/xmldb/concurrent/action/ValueAppendAction.java</include>
12631268
<include>src/test/java/org/exist/xmldb/concurrent/action/XQueryAction.java</include>
12641269
<include>src/test/java/org/exist/xmldb/concurrent/action/XQueryUpdateAction.java</include>
1270+
<include>src/main/java/org/exist/xmlrpc/AbstractCachedResult.java</include>
1271+
<include>src/main/java/org/exist/xmlrpc/CachedQueryResult.java</include>
12651272
<include>src/main/java/org/exist/xmlrpc/ExistRpcTypeFactory.java</include>
12661273
<include>src/test/java/org/exist/xmlrpc/MimeTypeTest.java</include>
1274+
<include>src/main/java/org/exist/xmlrpc/QueryResultCache.java</include>
12671275
<include>src/test/java/org/exist/xmlrpc/QuerySessionTest.java</include>
12681276
<include>src/main/java/org/exist/xmlrpc/RpcAPI.java</include>
12691277
<include>src/main/java/org/exist/xmlrpc/RpcConnection.java</include>
1278+
<include>src/main/java/org/exist/xmlrpc/XmldbRequestProcessorFactory.java</include>
12701279
<include>src/test/java/org/exist/xmlrpc/XmlRpcTest.java</include>
12711280
<include>src/main/java/org/exist/xqj/Marshaller.java</include>
12721281
<include>src/test/java/org/exist/xqj/MarshallerTest.java</include>
@@ -1277,6 +1286,7 @@
12771286
<include>src/main/java/org/exist/xquery/ArrowOperator.java</include>
12781287
<include>src/test/java/org/exist/xquery/CardinalityTest.java</include>
12791288
<include>src/test/java/org/exist/xquery/CleanupTest.java</include>
1289+
<include>src/main/java/org/exist/xquery/CompiledXQuery.java</include>
12801290
<include>src/test/java/org/exist/xquery/ConstructedNodesRecoveryTest.java</include>
12811291
<include>src/test/java/org/exist/xquery/ConstructedNodesTest.java</include>
12821292
<include>src/main/java/org/exist/xquery/Context.java</include>
@@ -1493,6 +1503,7 @@
14931503
<include>src/test/java/org/exist/xquery/functions/util/Base64FunctionsTest.java</include>
14941504
<include>src/test/java/org/exist/xquery/functions/util/BaseConverterTest.java</include>
14951505
<include>src/main/java/org/exist/xquery/functions/util/BuiltinFunctions.java</include>
1506+
<include>src/main/java/org/exist/xquery/functions/util/CollectionName.java</include>
14961507
<include>src/main/java/org/exist/xquery/functions/util/DescribeFunction.java</include>
14971508
<include>src/test/java/org/exist/xquery/functions/util/EvalTest.java</include>
14981509
<include>src/test/java/org/exist/xquery/functions/util/ExpandTest.java</include>
@@ -1881,12 +1892,18 @@
18811892
<exclude>src/test/java/org/exist/security/internal/BackupRestoreSecurityPrincipalsTest.java</exclude>
18821893
<exclude>src/main/java/org/exist/security/internal/RealmImpl.java</exclude>
18831894
<exclude>src/main/java/org/exist/security/internal/SecurityManagerImpl.java</exclude>
1895+
<exclude>src/main/java/org/exist/security/internal/SMEvents.java</exclude>
1896+
<exclude>src/main/java/org/exist/security/internal/aider/ImmutableUnixStylePermissionAider.java</exclude>
18841897
<exclude>src/main/java/org/exist/security/internal/aider/UnixStylePermissionAider.java</exclude>
18851898
<exclude>src/main/java/org/exist/security/management/AccountsManagement.java</exclude>
18861899
<exclude>src/main/java/org/exist/security/management/GroupsManagement.java</exclude>
18871900
<exclude>src/main/java/org/exist/source/AbstractSource.java</exclude>
1901+
<exclude>src/main/java/org/exist/source/DBSource.java</exclude>
1902+
<exclude>src/main/java/org/exist/source/DbStoreSource.java</exclude>
1903+
<exclude>src/main/java/org/exist/source/DbUriSource.java</exclude>
18881904
<exclude>src/main/java/org/exist/source/Source.java</exclude>
18891905
<exclude>src/main/java/org/exist/source/SourceFactory.java</exclude>
1906+
<exclude>src/test/java/org/exist/source/SourceFactoryTest.java</exclude>
18901907
<exclude>src/main/java/org/exist/source/URLSource.java</exclude>
18911908
<exclude>src/test/java/org/exist/stax/EmbeddedXMLStreamReaderTest.java</exclude>
18921909
<exclude>src/test/java/org/exist/storage/AbstractRecoverTest.java</exclude>
@@ -2010,6 +2027,8 @@
20102027
<exclude>src/test/java/org/exist/storage/txn/TxnTest.java</exclude>
20112028
<exclude>src/test/java/org/exist/storage/util/PauseFunction.java</exclude>
20122029
<exclude>src/main/java/org/exist/test/DiffMatcher.java</exclude>
2030+
<exclude>src/main/java/org/exist/test/ExistEmbeddedServer.java</exclude>
2031+
<exclude>src/main/java/org/exist/test/ExistWebServer.java</exclude>
20132032
<exclude>src/main/java/org/exist/test/ExistXmldbEmbeddedServer.java</exclude>
20142033
<exclude>src/main/java/org/exist/test/TransactionTestDSL.java</exclude>
20152034
<exclude>src/test/java/org/exist/test/Util.java</exclude>
@@ -2117,6 +2136,7 @@
21172136
<exclude>src/main/java/org/exist/xmldb/LocalBinaryResource.java</exclude>
21182137
<exclude>src/main/java/org/exist/xmldb/LocalCollection.java</exclude>
21192138
<exclude>src/test/java/org/exist/xmldb/LocalCollectionTest.java</exclude>
2139+
<exclude>src/main/java/org/exist/xmldb/LocalCompiledExpression.java</exclude>
21202140
<exclude>src/main/java/org/exist/xmldb/LocalResourceSet.java</exclude>
21212141
<exclude>src/main/java/org/exist/xmldb/LocalRestoreService.java</exclude>
21222142
<exclude>src/main/java/org/exist/xmldb/LocalXMLResource.java</exclude>
@@ -2169,15 +2189,19 @@
21692189
<exclude>src/test/java/org/exist/xmldb/concurrent/action/ValueAppendAction.java</exclude>
21702190
<exclude>src/test/java/org/exist/xmldb/concurrent/action/XQueryAction.java</exclude>
21712191
<exclude>src/test/java/org/exist/xmldb/concurrent/action/XQueryUpdateAction.java</exclude>
2192+
<exclude>src/main/java/org/exist/xmlrpc/AbstractCachedResult.java</exclude>
21722193
<exclude>src/main/java/org/exist/xmlrpc/ACEAiderParser.java</exclude>
21732194
<exclude>src/main/java/org/exist/xmlrpc/ACEAiderSerializer.java</exclude>
21742195
<exclude>src/main/java/org/exist/xmlrpc/ArrayWrapperParser.java</exclude>
21752196
<exclude>src/main/java/org/exist/xmlrpc/ArrayWrapperSerializer.java</exclude>
2197+
<exclude>src/main/java/org/exist/xmlrpc/CachedQueryResult.java</exclude>
21762198
<exclude>src/main/java/org/exist/xmlrpc/ExistRpcTypeFactory.java</exclude>
21772199
<exclude>src/test/java/org/exist/xmlrpc/MimeTypeTest.java</exclude>
2200+
<exclude>src/main/java/org/exist/xmlrpc/QueryResultCache.java</exclude>
21782201
<exclude>src/test/java/org/exist/xmlrpc/QuerySessionTest.java</exclude>
21792202
<exclude>src/main/java/org/exist/xmlrpc/RpcAPI.java</exclude>
21802203
<exclude>src/main/java/org/exist/xmlrpc/RpcConnection.java</exclude>
2204+
<exclude>src/main/java/org/exist/xmlrpc/XmldbRequestProcessorFactory.java</exclude>
21812205
<exclude>src/main/java/org/exist/xmlrpc/XmlRpcExtensionConstants.java</exclude>
21822206
<exclude>src/test/java/org/exist/xmlrpc/XmlRpcTest.java</exclude>
21832207
<exclude>src/main/java/org/exist/xqj/Marshaller.java</exclude>
@@ -2192,6 +2216,7 @@
21922216
<exclude>src/test/java/org/exist/xquery/CardinalityTest.java</exclude>
21932217
<exclude>src/test/java/org/exist/xquery/CastExpressionTest.java</exclude>
21942218
<exclude>src/test/java/org/exist/xquery/CleanupTest.java</exclude>
2219+
<exclude>src/main/java/org/exist/xquery/CompiledXQuery.java</exclude>
21952220
<exclude>src/test/java/org/exist/xquery/ConstructedNodesRecoveryTest.java</exclude>
21962221
<exclude>src/test/java/org/exist/xquery/ConstructedNodesTest.java</exclude>
21972222
<exclude>src/main/java/org/exist/xquery/Context.java</exclude>
@@ -2242,6 +2267,9 @@
22422267
<exclude>src/test/java/org/exist/xquery/PersistentDescendantOrSelfNodeKindTest.java</exclude>
22432268
<exclude>src/test/java/org/exist/xquery/QueryPoolTest.java</exclude>
22442269
<exclude>src/test/java/org/exist/xquery/RestBinariesTest.java</exclude>
2270+
<exclude>src/test/java/org/exist/xquery/RunningXQueryRestTest.java</exclude>
2271+
<exclude>src/test/java/org/exist/xquery/RunningXQueryTest.java</exclude>
2272+
<exclude>src/test/java/org/exist/xquery/RunningXQueryXmlDbTest.java</exclude>
22452273
<exclude>src/test/java/org/exist/xquery/SeqOpTest.java</exclude>
22462274
<exclude>src/test/java/org/exist/xquery/SpecialNamesTest.java</exclude>
22472275
<exclude>src/test/java/org/exist/xquery/StoredModuleTest.java</exclude>
@@ -2430,6 +2458,7 @@
24302458
<exclude>src/test/java/org/exist/xquery/functions/util/Base64FunctionsTest.java</exclude>
24312459
<exclude>src/test/java/org/exist/xquery/functions/util/BaseConverterTest.java</exclude>
24322460
<exclude>src/main/java/org/exist/xquery/functions/util/BuiltinFunctions.java</exclude>
2461+
<exclude>src/main/java/org/exist/xquery/functions/util/CollectionName.java</exclude>
24332462
<exclude>src/main/java/org/exist/xquery/functions/util/DescribeFunction.java</exclude>
24342463
<exclude>src/main/java/org/exist/xquery/functions/util/Eval.java</exclude>
24352464
<exclude>src/test/java/org/exist/xquery/functions/util/EvalTest.java</exclude>
@@ -2721,6 +2750,13 @@ The original license statement is also included below.]]></preamble>
27212750
<includes>
27222751
<include>src/main/java/org/exist/mediatype/MediaTypeService.java</include>
27232752
<include>src/main/java/org/exist/mediatype/MediaTypeUtil.java</include>
2753+
<include>src/main/java/org/exist/security/internal/aider/ImmutableUnixStylePermissionAider.java</include>
2754+
<include>src/main/java/org/exist/source/DbStoreSource.java</include>
2755+
<include>src/main/java/org/exist/source/DbUriSource.java</include>
2756+
<include>src/main/java/org/exist/xmldb/LocalCompiledExpression.java</include>
2757+
<include>src/test/java/org/exist/xquery/RunningXQueryRestTest.java</include>
2758+
<include>src/test/java/org/exist/xquery/RunningXQueryTest.java</include>
2759+
<include>src/test/java/org/exist/xquery/RunningXQueryXmlDbTest.java</include>
27242760
<include>src/main/resources/xyz/elemental/mediatype/media-type-aliases.xml</include>
27252761
<include>src/main/resources/xyz/elemental/mediatype/media-type-mappings.xml</include>
27262762
<include>src/main/resources/xyz/elemental/mediatype/mime.types</include>
@@ -3050,4 +3086,4 @@ The BaseX Team. The original license statement is also included below.]]></pream
30503086
</profile>
30513087
</profiles>
30523088

3053-
</project>
3089+
</project>

exist-core/src/main/java/org/exist/collections/triggers/XQueryTrigger.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
import org.exist.dom.persistent.DocumentImpl;
6262
import org.exist.dom.QName;
6363
import org.exist.security.PermissionDeniedException;
64-
import org.exist.source.DBSource;
64+
import org.exist.source.DbStoreSource;
6565
import org.exist.source.Source;
6666
import org.exist.source.SourceFactory;
6767
import org.exist.source.StringSource;
@@ -364,8 +364,8 @@ private CompiledXQuery getScript(final DBBroker broker, final Txn transaction) t
364364
context.prepareForReuse();
365365
}
366366

367-
if (query instanceof DBSource) {
368-
context.setModuleLoadPath(XmldbURI.EMBEDDED_SERVER_URI_PREFIX + ((DBSource)query).getDocumentPath().removeLastSegment().toString());
367+
if (query instanceof DbStoreSource) {
368+
context.setModuleLoadPath(XmldbURI.EMBEDDED_SERVER_URI_PREFIX + ((DbStoreSource) query).getDocumentPath().removeLastSegment().toString());
369369
}
370370

371371
//compile the XQuery

0 commit comments

Comments
 (0)