This is an automated email from the ASF dual-hosted git repository.
rpuch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new cd870a5727 IGNITE-22983 Create public API components once (#4228)
cd870a5727 is described below
commit cd870a5727fc8e7a0651e0e61acd881b0fa1d9a2
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Wed Aug 14 11:20:48 2024 +0400
IGNITE-22983 Create public API components once (#4228)
---
.../org/apache/ignite/internal/app/IgniteImpl.java | 27 ++++++++++++++++------
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index 9b4b542271..fa82609508 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -403,10 +403,16 @@ public class IgniteImpl implements Ignite {
private final Executor asyncContinuationExecutor =
ForkJoinPool.commonPool();
+ private final IgniteTables publicTables;
+ private final IgniteTransactions publicTransactions;
+ private final IgniteSql publicSql;
+ private final IgniteCompute publicCompute;
+ private final IgniteCatalog publicCatalog;
+
/** Default log storage factory for raft. */
private final LogStorageFactory logStorageFactory;
- private IndexMetaStorage indexMetaStorage;
+ private final IndexMetaStorage indexMetaStorage;
/**
* The Constructor.
@@ -987,6 +993,14 @@ public class IgniteImpl implements Ignite {
);
restComponent = createRestComponent(name);
+
+ publicTables = new PublicApiThreadingIgniteTables(distributedTblMgr,
asyncContinuationExecutor);
+ publicTransactions = new PublicApiThreadingIgniteTransactions(
+ new IgniteTransactionsImpl(txManager,
observableTimestampTracker), asyncContinuationExecutor
+ );
+ publicSql = new PublicApiThreadingIgniteSql(sql,
asyncContinuationExecutor);
+ publicCompute = new AntiHijackIgniteCompute(compute,
asyncContinuationExecutor);
+ publicCatalog = new PublicApiThreadingIgniteCatalog(new
IgniteCatalogSqlImpl(sql, distributedTblMgr), asyncContinuationExecutor);
}
private static Map<String, StorageEngine>
applyThreadAssertionsIfNeeded(Map<String, StorageEngine> storageEngines) {
@@ -1338,7 +1352,7 @@ public class IgniteImpl implements Ignite {
/** {@inheritDoc} */
@Override
public IgniteTables tables() {
- return new PublicApiThreadingIgniteTables(distributedTblMgr,
asyncContinuationExecutor);
+ return publicTables;
}
public DisasterRecoveryManager disasterRecoveryManager() {
@@ -1373,8 +1387,7 @@ public class IgniteImpl implements Ignite {
/** {@inheritDoc} */
@Override
public IgniteTransactions transactions() {
- IgniteTransactionsImpl transactions = new
IgniteTransactionsImpl(txManager, observableTimestampTracker);
- return new PublicApiThreadingIgniteTransactions(transactions,
asyncContinuationExecutor);
+ return publicTransactions;
}
private IgniteSql bareSql() {
@@ -1384,7 +1397,7 @@ public class IgniteImpl implements Ignite {
/** {@inheritDoc} */
@Override
public IgniteSql sql() {
- return new PublicApiThreadingIgniteSql(sql, asyncContinuationExecutor);
+ return publicSql;
}
/** {@inheritDoc} */
@@ -1396,7 +1409,7 @@ public class IgniteImpl implements Ignite {
/** {@inheritDoc} */
@Override
public IgniteCompute compute() {
- return new AntiHijackIgniteCompute(compute, asyncContinuationExecutor);
+ return publicCompute;
}
/** {@inheritDoc} */
@@ -1413,7 +1426,7 @@ public class IgniteImpl implements Ignite {
@Override
public IgniteCatalog catalog() {
- return new PublicApiThreadingIgniteCatalog(new
IgniteCatalogSqlImpl(sql, distributedTblMgr), asyncContinuationExecutor);
+ return publicCatalog;
}
/**