Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
249 commits
Select commit Hold shift + click to select a range
bd8fdd1
Update DeviceAttributeStore.java
Caideyipi Sep 26, 2024
9149734
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 26, 2024
8357070
init
Caideyipi Sep 26, 2024
479dc17
little enrich
Caideyipi Sep 26, 2024
4f6bfdd
little enrich
Caideyipi Sep 26, 2024
74119a7
little enrich too
Caideyipi Sep 26, 2024
88fbf5d
partial snapshot
Caideyipi Sep 26, 2024
83e41c6
Update SchemaRegionMemoryImpl.java
Caideyipi Sep 26, 2024
19af79a
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 26, 2024
16ecc27
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 26, 2024
fb225c1
partial logic
Caideyipi Sep 26, 2024
7061262
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 26, 2024
6f11dc4
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 26, 2024
a1c3247
partial prepare
Caideyipi Sep 26, 2024
c9f2732
Refactor
Caideyipi Sep 26, 2024
5df1fcd
Create GeneralRegionAttributeSecurityService.java
Caideyipi Sep 26, 2024
4aaf5fd
version
Caideyipi Sep 26, 2024
7ebcfdb
interface
Caideyipi Sep 26, 2024
3e67a16
Refactor
Caideyipi Sep 26, 2024
6241b4c
Fix
Caideyipi Sep 26, 2024
d7338f5
init memory calculations
Caideyipi Sep 26, 2024
aac3237
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 26, 2024
2710cf5
Ram bytes
Caideyipi Sep 26, 2024
2b40aa9
try update
Caideyipi Sep 26, 2024
6b5f971
Update UpdateDetailContainer.java
Caideyipi Sep 26, 2024
e1c0c8c
Update UpdateDetailContainer.java
Caideyipi Sep 26, 2024
b741cdc
may continue
Caideyipi Sep 26, 2024
809a0b9
Update UpdateDetailContainer.java
Caideyipi Sep 26, 2024
0464997
Degrade logic
Caideyipi Sep 26, 2024
e510e55
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 26, 2024
42feba9
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 26, 2024
f706080
Refactor
Caideyipi Sep 26, 2024
edfa59b
Update UpdateClearContainer.java
Caideyipi Sep 26, 2024
d75f1c5
GRASS
Caideyipi Sep 26, 2024
26aa6c0
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 26, 2024
d5ae657
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 27, 2024
65d8234
Add config
Caideyipi Sep 27, 2024
1907faf
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 27, 2024
bbe897f
state machine logic
Caideyipi Sep 27, 2024
0d0b97a
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 27, 2024
8d85897
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 27, 2024
98cb1f7
notify
Caideyipi Sep 27, 2024
c83d498
Fix
Caideyipi Sep 27, 2024
64294b8
Update UpdateContainer.java
Caideyipi Sep 27, 2024
8a1d355
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 27, 2024
d2db152
Update UpdateDetailContainer.java
Caideyipi Sep 27, 2024
c9dcfeb
Update logic
Caideyipi Sep 27, 2024
6fa59af
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 27, 2024
09ebec0
Refactor
Caideyipi Sep 27, 2024
1f8ac63
Size
Caideyipi Sep 27, 2024
84124e8
Degrade logic
Caideyipi Sep 27, 2024
c85e5ac
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 27, 2024
836c51b
Refactor
Caideyipi Sep 27, 2024
ec7ee77
Update UpdateClearContainer.java
Caideyipi Sep 27, 2024
1284536
Refactor
Caideyipi Sep 27, 2024
eea2f03
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 27, 2024
203e622
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 27, 2024
f518856
Create RewritableByteArrayOutputStream.java
Caideyipi Sep 27, 2024
3eb768e
continue
Caideyipi Sep 29, 2024
6d686ec
Use default
Caideyipi Sep 29, 2024
4917340
Tricky
Caideyipi Sep 29, 2024
776bae2
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 29, 2024
58ca973
continue
Caideyipi Sep 29, 2024
6fd6ec3
complete limit
Caideyipi Sep 29, 2024
45995e3
reuse pipe config
Caideyipi Sep 29, 2024
d74d449
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 29, 2024
86bfb57
Refactor
Caideyipi Sep 29, 2024
c9e7b94
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 29, 2024
94761dc
Refactor
Caideyipi Sep 29, 2024
9e44a14
Refactor
Caideyipi Sep 29, 2024
9166ec4
UpdateMap
Caideyipi Sep 29, 2024
ac0e3fc
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 29, 2024
29861d6
Refactor
Caideyipi Sep 29, 2024
9157550
Refactor
Caideyipi Sep 29, 2024
5439e03
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 29, 2024
93e0fab
optimization
Caideyipi Sep 29, 2024
919098a
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 29, 2024
83b0aeb
Refactor
Caideyipi Sep 29, 2024
addd0a7
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 29, 2024
5ebcbc7
client.thrift
Caideyipi Sep 29, 2024
0d959b4
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 29, 2024
aef9bb1
refactor
Caideyipi Sep 29, 2024
8d8e2a3
Update UpdateClearContainer.java
Caideyipi Sep 29, 2024
d57894b
Move
Caideyipi Sep 29, 2024
7966849
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 29, 2024
57afbe8
Update DataNodeInternalRPCServiceImpl.java
Caideyipi Sep 29, 2024
aaf508f
little completion
Caideyipi Sep 29, 2024
2d3fd7a
Update DnToDnInternalServiceAsyncRequestManager.java
Caideyipi Sep 29, 2024
22a3482
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 30, 2024
89aa30a
Refactor
Caideyipi Sep 30, 2024
eb622fd
partial
Caideyipi Sep 30, 2024
fd70cee
timeout config
Caideyipi Sep 30, 2024
267348a
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 30, 2024
f1fe8fa
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 30, 2024
d6ef424
Update GeneralRegionAttributeSecurityService.java
Caideyipi Sep 30, 2024
88a76a0
Create UpdateAttributeCommitNode.java
Caideyipi Sep 30, 2024
512d7c2
Refactor
Caideyipi Sep 30, 2024
278a938
Partial
Caideyipi Sep 30, 2024
d2fa67d
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 30, 2024
49bda89
Update TableDeviceAttributeCommitNode.java
Caideyipi Sep 30, 2024
6179b0b
Add write
Caideyipi Sep 30, 2024
7a92f49
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 30, 2024
d0f55e4
Partial
Caideyipi Sep 30, 2024
ea25db7
Add mlog
Caideyipi Sep 30, 2024
8e55ed2
non-complete commit logic
Caideyipi Sep 30, 2024
0566fba
partial commit
Caideyipi Sep 30, 2024
6f36622
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 30, 2024
40907c6
Refactor
Caideyipi Sep 30, 2024
0003106
partial
Caideyipi Sep 30, 2024
84698e9
Update UpdateDetailContainer.java
Caideyipi Sep 30, 2024
4286c6f
Update UpdateDetailContainer.java
Caideyipi Sep 30, 2024
e4a51b4
Handle null
Caideyipi Sep 30, 2024
21cf2ec
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Sep 30, 2024
f5686a7
Update UpdateDetailContainer.java
Caideyipi Sep 30, 2024
0b3763c
Update DeviceAttributeRemoteUpdater.java
Caideyipi Sep 30, 2024
4ba4b8a
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 9, 2024
66c51e2
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
e9baf26
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
ba8677c
Added property
Caideyipi Oct 9, 2024
455508c
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 9, 2024
cba17a4
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
7b71e0c
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
7b0b0e4
complete shrink logic
Caideyipi Oct 9, 2024
b3e948f
Update ThreadName.java
Caideyipi Oct 9, 2024
b6d39e9
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
d0fb222
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 9, 2024
989fdb8
start write in query
Caideyipi Oct 9, 2024
158e3b0
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 9, 2024
a723365
completing
Caideyipi Oct 9, 2024
afb674e
hak
Caideyipi Oct 9, 2024
dcf32fc
enrich
Caideyipi Oct 9, 2024
694cef3
Refactor
Caideyipi Oct 9, 2024
8561777
Refactor
Caideyipi Oct 9, 2024
1e640f9
Prepare
Caideyipi Oct 9, 2024
cfbc20f
small completion
Caideyipi Oct 9, 2024
78bfbe9
small progress
Caideyipi Oct 9, 2024
6e6a918
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 9, 2024
ed79b3f
little
Caideyipi Oct 9, 2024
f5513b2
some
Caideyipi Oct 9, 2024
1f71867
Completion
Caideyipi Oct 9, 2024
91f23a1
Small completion
Caideyipi Oct 9, 2024
3396b94
Update TableSchemaQueryWriteVisitor.java
Caideyipi Oct 9, 2024
8efdca6
Update DataNodeInternalRPCServiceImpl.java
Caideyipi Oct 9, 2024
f977f51
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 9, 2024
a60085e
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
11d63fa
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
580ef9d
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
01a37b0
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
c810895
Update TableLogicalPlanner.java
Caideyipi Oct 10, 2024
87aecc9
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
97f0f25
Update DeviceAttributeRemoteUpdater.java
Caideyipi Oct 10, 2024
a6e86a3
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
1564e59
comments
Caideyipi Oct 10, 2024
083213c
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
d2de995
Added local
Caideyipi Oct 10, 2024
e63c80b
Refactor
Caideyipi Oct 10, 2024
1911eb7
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
2620662
Successful callback
Caideyipi Oct 10, 2024
8add8bf
Add SR id
Caideyipi Oct 10, 2024
f9fb091
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
bffa976
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
6df8af7
IService
Caideyipi Oct 10, 2024
41a27b2
Update DeviceAttributeRemoteUpdater.java
Caideyipi Oct 10, 2024
d4f5f24
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
0514249
Refactor
Caideyipi Oct 10, 2024
43da7c0
bug fix
Caideyipi Oct 10, 2024
4abe001
Partial refactor
Caideyipi Oct 10, 2024
91413e3
More
Caideyipi Oct 10, 2024
c95c41a
Update AbstractTableDeviceQueryNode.java
Caideyipi Oct 10, 2024
67f5ace
Update TableDeviceFetchNode.java
Caideyipi Oct 10, 2024
a3dce1f
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
d15fc97
Rename
Caideyipi Oct 10, 2024
7251ecd
handle leader location
Caideyipi Oct 10, 2024
ebf51a1
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 10, 2024
1de5403
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 10, 2024
b618852
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 10, 2024
3a63917
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 10, 2024
9cb2092
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 10, 2024
ba5fe3f
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 10, 2024
b0645db
some
Caideyipi Oct 10, 2024
28ac433
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 10, 2024
369a3a1
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 11, 2024
ac2a8a4
Better
Caideyipi Oct 11, 2024
ae49b8a
Update TableDeviceSchemaFetcher.java
Caideyipi Oct 11, 2024
ff66f4d
Update TableDeviceSchemaFetcher.java
Caideyipi Oct 11, 2024
5b0fe50
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 11, 2024
4f4c0e1
remaining improvement
Caideyipi Oct 11, 2024
36f42e4
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 11, 2024
df8d852
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
cab8c5c
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 11, 2024
e4f3cc4
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
51ce35f
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
5b21248
Region id security
Caideyipi Oct 11, 2024
0738f53
Update IoTDBConfig.java
Caideyipi Oct 11, 2024
59fab2e
Update IoTDBConfig.java
Caideyipi Oct 11, 2024
fdb3ea6
Snapshot Fix
Caideyipi Oct 11, 2024
a14a2f1
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 11, 2024
1085f50
Merge remote-tracking branch 'upstream/master' into attribute-security
Caideyipi Oct 11, 2024
b761d28
spotless
Caideyipi Oct 11, 2024
4cf2fc1
fix
Caideyipi Oct 11, 2024
452b7bb
Update DataNodeTableCache.java
Caideyipi Oct 11, 2024
c789d0e
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
73a1219
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
436e185
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 11, 2024
b461e9b
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 11, 2024
eb93f87
small fix
Caideyipi Oct 11, 2024
345c25b
Update DeviceAttributeCacheUpdater.java
Caideyipi Oct 11, 2024
1a77253
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 11, 2024
e8c03a7
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 12, 2024
767275e
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 12, 2024
e1d2e40
Bug fix
Caideyipi Oct 12, 2024
7cbe424
Update TableDeviceSchemaFetcher.java
Caideyipi Oct 12, 2024
6e786fd
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 12, 2024
9a18d56
improvement
Caideyipi Oct 12, 2024
6a4b929
bug fix
Caideyipi Oct 12, 2024
8349e37
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 14, 2024
bbd1863
Merge remote-tracking branch 'upstream/master' into attribute-security
Caideyipi Oct 15, 2024
f21119f
Update TableDeviceSchemaFetcher.java
Caideyipi Oct 15, 2024
94d12c7
Fix
Caideyipi Oct 15, 2024
46ead7a
bug fix
Caideyipi Oct 16, 2024
84f108d
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 16, 2024
a288539
Partially add database
Caideyipi Oct 16, 2024
e6a7af8
partial
Caideyipi Oct 16, 2024
a576ca6
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 16, 2024
7781716
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 16, 2024
24f44f2
wait for tables
Caideyipi Oct 16, 2024
3531f56
Add db name
Caideyipi Oct 16, 2024
70ac0b0
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 16, 2024
ac20ee8
Update SchemaRegionMemoryImpl.java
Caideyipi Oct 16, 2024
722af6f
Update AbstractTableSchemaQueryAttributeSecurityVisitor.java
Caideyipi Oct 16, 2024
e03be54
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 16, 2024
4262432
Use list
Caideyipi Oct 16, 2024
b745968
Update TableDeviceCacheAttributeGuard.java
Caideyipi Oct 16, 2024
4c094d4
Update GeneralRegionAttributeSecurityService.java
Caideyipi Oct 16, 2024
283056d
Fix
Caideyipi Oct 16, 2024
84d8985
Support clear cache
Caideyipi Oct 16, 2024
08e8f63
Doing clear cache
Caideyipi Oct 16, 2024
3224f34
Update ClearCache.java
Caideyipi Oct 16, 2024
a24e149
Partially clear cache
Caideyipi Oct 16, 2024
941474b
Clear cache
Caideyipi Oct 16, 2024
57848da
May complete
Caideyipi Oct 16, 2024
5d4468c
Update IoTDBSqlParser.g4
Caideyipi Oct 16, 2024
deb7985
maycomplete
Caideyipi Oct 16, 2024
6df442f
Merge branch 'master' of https://github.com/apache/iotdb into attribu…
Caideyipi Oct 16, 2024
77c7693
Update ClientManagerTest.java
Caideyipi Oct 16, 2024
6e62401
Update ClearCacheTask.java
Caideyipi Oct 16, 2024
b18f0f8
Update Coordinator.java
Caideyipi Oct 16, 2024
26f648f
Update SchemaRegionMemoryImpl.java
Caideyipi Oct 17, 2024
abaa5a8
Update SchemaRegionMemoryImpl.java
Caideyipi Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,7 @@ flush

// Clear Cache
clearCache
: CLEAR CACHE (ON (LOCAL | CLUSTER))?
: CLEAR (SCHEMA | QUERY | ALL)? CACHE (ON (LOCAL | CLUSTER))?
;

// Set Configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@

import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

/** Asynchronously send RPC requests to DataNodes. See queryengine.thrift for more details. */
Expand All @@ -104,6 +105,7 @@ public class CnToDnInternalServiceAsyncRequestManager
private static final Logger LOGGER =
LoggerFactory.getLogger(CnToDnInternalServiceAsyncRequestManager.class);

@SuppressWarnings("unchecked")
@Override
protected void initActionMapBuilder() {
actionMapBuilder.put(
Expand Down Expand Up @@ -223,7 +225,8 @@ protected void initActionMapBuilder() {
client.flush((TFlushReq) req, (DataNodeTSStatusRPCHandler) handler));
actionMapBuilder.put(
CnToDnAsyncRequestType.CLEAR_CACHE,
(req, client, handler) -> client.clearCache((DataNodeTSStatusRPCHandler) handler));
(req, client, handler) ->
client.clearCache((Set<Integer>) req, (DataNodeTSStatusRPCHandler) handler));
actionMapBuilder.put(
CnToDnAsyncRequestType.START_REPAIR_DATA,
(req, client, handler) -> client.startRepairData((DataNodeTSStatusRPCHandler) handler));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1614,18 +1614,18 @@ public TSStatus merge() {
}

@Override
public TSStatus flush(TFlushReq req) {
TSStatus status = confirmLeader();
public TSStatus flush(final TFlushReq req) {
final TSStatus status = confirmLeader();
return status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()
? RpcUtils.squashResponseStatusList(nodeManager.flush(req))
: status;
}

@Override
public TSStatus clearCache() {
TSStatus status = confirmLeader();
public TSStatus clearCache(final Set<Integer> clearCacheOptions) {
final TSStatus status = confirmLeader();
return status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()
? RpcUtils.squashResponseStatusList(nodeManager.clearCache())
? RpcUtils.squashResponseStatusList(nodeManager.clearCache(clearCacheOptions))
: status;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ TDataPartitionTableResp getOrCreateDataPartition(
TSStatus flush(TFlushReq req);

/** Clear cache on all DataNodes. */
TSStatus clearCache();
TSStatus clearCache(final Set<Integer> clearCacheOptions);

/** Set Configuration. */
TSStatus setConfiguration(TSetConfigurationReq req);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -881,11 +881,12 @@ public List<TSStatus> flush(TFlushReq req) {
return clientHandler.getResponseList();
}

public List<TSStatus> clearCache() {
Map<Integer, TDataNodeLocation> dataNodeLocationMap =
public List<TSStatus> clearCache(final Set<Integer> clearCacheOptions) {
final Map<Integer, TDataNodeLocation> dataNodeLocationMap =
configManager.getNodeManager().getRegisteredDataNodeLocations();
DataNodeAsyncRequestContext<Object, TSStatus> clientHandler =
new DataNodeAsyncRequestContext<>(CnToDnAsyncRequestType.CLEAR_CACHE, dataNodeLocationMap);
final DataNodeAsyncRequestContext<Set<Integer>, TSStatus> clientHandler =
new DataNodeAsyncRequestContext<>(
CnToDnAsyncRequestType.CLEAR_CACHE, clearCacheOptions, dataNodeLocationMap);
CnToDnInternalServiceAsyncRequestManager.getInstance().sendAsyncRequestWithRetry(clientHandler);
return clientHandler.getResponseList();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -925,12 +925,12 @@ public TSStatus flush(TFlushReq req) throws TException {
}

@Override
public TSStatus clearCache() {
return configManager.clearCache();
public TSStatus clearCache(final Set<Integer> clearCacheOptions) {
return configManager.clearCache(clearCacheOptions);
}

@Override
public TSStatus setConfiguration(TSetConfigurationReq req) throws TException {
public TSStatus setConfiguration(TSetConfigurationReq req) {
return configManager.setConfiguration(req);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1044,6 +1044,14 @@ public class IoTDBConfig {

private int dataNodeTableCacheSemaphorePermitNum = 5;

/** GRASS Service */
private long generalRegionAttributeSecurityServiceIntervalSeconds = 30L;

private long generalRegionAttributeSecurityServiceTimeoutSeconds = 20L;
private long generalRegionAttributeSecurityServiceFailureDurationSecondsToFetch = 600L;
private int generalRegionAttributeSecurityServiceFailureTimesToFetch = 20;
private long detailContainerMinDegradeMemoryInBytes = 1024 * 1024L;

private String readConsistencyLevel = "strong";

/** Maximum execution time of a DriverTask */
Expand Down Expand Up @@ -3465,6 +3473,55 @@ public void setDataNodeTableCacheSemaphorePermitNum(int dataNodeTableCacheSemaph
this.dataNodeTableCacheSemaphorePermitNum = dataNodeTableCacheSemaphorePermitNum;
}

public long getGeneralRegionAttributeSecurityServiceIntervalSeconds() {
return generalRegionAttributeSecurityServiceIntervalSeconds;
}

public void setGeneralRegionAttributeSecurityServiceIntervalSeconds(
long generalRegionAttributeSecurityServiceIntervalSeconds) {
this.generalRegionAttributeSecurityServiceIntervalSeconds =
generalRegionAttributeSecurityServiceIntervalSeconds;
}

public long getGeneralRegionAttributeSecurityServiceTimeoutSeconds() {
return generalRegionAttributeSecurityServiceTimeoutSeconds;
}

public void setGeneralRegionAttributeSecurityServiceTimeoutSeconds(
long generalRegionAttributeSecurityServiceTimeoutSeconds) {
this.generalRegionAttributeSecurityServiceTimeoutSeconds =
generalRegionAttributeSecurityServiceTimeoutSeconds;
}

public long getGeneralRegionAttributeSecurityServiceFailureDurationSecondsToFetch() {
return generalRegionAttributeSecurityServiceFailureDurationSecondsToFetch;
}

public void setGeneralRegionAttributeSecurityServiceFailureDurationSecondsToFetch(
long generalRegionAttributeSecurityServiceFailureDurationSecondsToFetch) {
this.generalRegionAttributeSecurityServiceFailureDurationSecondsToFetch =
generalRegionAttributeSecurityServiceFailureDurationSecondsToFetch;
}

public int getGeneralRegionAttributeSecurityServiceFailureTimesToFetch() {
return generalRegionAttributeSecurityServiceFailureTimesToFetch;
}

public void setGeneralRegionAttributeSecurityServiceFailureTimesToFetch(
int generalRegionAttributeSecurityServiceFailureTimesToFetch) {
this.generalRegionAttributeSecurityServiceFailureTimesToFetch =
generalRegionAttributeSecurityServiceFailureTimesToFetch;
}

public long getDetailContainerMinDegradeMemoryInBytes() {
return detailContainerMinDegradeMemoryInBytes;
}

public void setDetailContainerMinDegradeMemoryInBytes(
long detailContainerMinDegradeMemoryInBytes) {
this.detailContainerMinDegradeMemoryInBytes = detailContainerMinDegradeMemoryInBytes;
}

public String getReadConsistencyLevel() {
return readConsistencyLevel;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1076,6 +1076,39 @@ public void loadProperties(Properties properties) throws BadNodeUrlException, IO
"datanode_table_cache_semaphore_permit_num",
String.valueOf(conf.getDataNodeTableCacheSemaphorePermitNum()))));

conf.setGeneralRegionAttributeSecurityServiceIntervalSeconds(
Long.parseLong(
properties.getProperty(
"general_region_attribute_security_service_interval_seconds",
String.valueOf(conf.getGeneralRegionAttributeSecurityServiceIntervalSeconds()))));

conf.setGeneralRegionAttributeSecurityServiceTimeoutSeconds(
Long.parseLong(
properties.getProperty(
"general_region_attribute_security_service_timeout_seconds",
String.valueOf(conf.getGeneralRegionAttributeSecurityServiceTimeoutSeconds()))));

conf.setGeneralRegionAttributeSecurityServiceFailureDurationSecondsToFetch(
Long.parseLong(
properties.getProperty(
"general_region_attribute_security_service_failure_duration_seconds_to_fetch",
String.valueOf(
conf
.getGeneralRegionAttributeSecurityServiceFailureDurationSecondsToFetch()))));

conf.setGeneralRegionAttributeSecurityServiceFailureTimesToFetch(
Integer.parseInt(
properties.getProperty(
"general_region_attribute_security_service_failure_times_to_fetch",
String.valueOf(
conf.getGeneralRegionAttributeSecurityServiceFailureTimesToFetch()))));

conf.setDetailContainerMinDegradeMemoryInBytes(
Long.parseLong(
properties.getProperty(
"detail_container_min_degrade_memory_in_bytes",
String.valueOf(conf.getDetailContainerMinDegradeMemoryInBytes()))));

loadIoTConsensusProps(properties);
loadIoTConsensusV2Props(properties);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.WritePlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.TableDeviceAttributeUpdateNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.ActivateTemplateNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.AlterTimeSeriesNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.BatchActivateTemplateNode;
Expand All @@ -58,7 +57,10 @@
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.pipe.PipeEnrichedNonWritePlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.pipe.PipeEnrichedWritePlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.pipe.PipeOperateSchemaQueueNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CreateOrUpdateTableDeviceNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.CreateOrUpdateTableDeviceNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceAttributeCommitUpdateNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceAttributeUpdateNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableNodeLocationAddNode;
import org.apache.iotdb.db.schemaengine.schemaregion.ISchemaRegion;
import org.apache.iotdb.db.schemaengine.schemaregion.write.req.ICreateAlignedTimeSeriesPlan;
import org.apache.iotdb.db.schemaengine.schemaregion.write.req.ICreateTimeSeriesPlan;
Expand Down Expand Up @@ -580,7 +582,7 @@ public TSStatus visitDeleteLogicalView(DeleteLogicalViewNode node, ISchemaRegion
}

@Override
public TSStatus visitCreateTableDevice(
public TSStatus visitCreateOrUpdateTableDevice(
final CreateOrUpdateTableDeviceNode node, final ISchemaRegion schemaRegion) {
try {
// todo implement storage for device of diverse data types
Expand All @@ -604,6 +606,30 @@ public TSStatus visitTableDeviceAttributeUpdate(
}
}

@Override
public TSStatus visitTableDeviceAttributeCommit(
final TableDeviceAttributeCommitUpdateNode node, final ISchemaRegion schemaRegion) {
try {
schemaRegion.commitUpdateAttribute(node);
return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS);
} catch (final MetadataException e) {
logger.error(e.getMessage(), e);
return RpcUtils.getStatus(e.getErrorCode(), e.getMessage());
}
}

@Override
public TSStatus visitTableNodeLocationAdd(
final TableNodeLocationAddNode node, final ISchemaRegion schemaRegion) {
try {
schemaRegion.addNodeLocation(node);
return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS);
} catch (final MetadataException e) {
logger.error(e.getMessage(), e);
return RpcUtils.getStatus(e.getErrorCode(), e.getMessage());
}
}

@Override
public TSStatus visitPipeEnrichedWritePlanNode(
final PipeEnrichedWritePlanNode node, final ISchemaRegion schemaRegion) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.schemaengine.schemaregion.ISchemaRegion;
import org.apache.iotdb.db.schemaengine.schemaregion.attribute.update.GeneralRegionAttributeSecurityService;
import org.apache.iotdb.db.tools.schema.SchemaRegionSnapshotParser;
import org.apache.iotdb.rpc.TSStatusCode;

Expand All @@ -52,7 +53,7 @@ public class SchemaRegionStateMachine extends BaseStateMachine {
private static final FragmentInstanceManager QUERY_INSTANCE_MANAGER =
FragmentInstanceManager.getInstance();

public SchemaRegionStateMachine(ISchemaRegion schemaRegion) {
public SchemaRegionStateMachine(final ISchemaRegion schemaRegion) {
this.schemaRegion = schemaRegion;
}

Expand All @@ -65,10 +66,11 @@ public void start() {
public void stop() {
// Stop leader related service for schema pipe
PipeDataNodeAgent.runtime().notifySchemaLeaderUnavailable(schemaRegion.getSchemaRegionId());
GeneralRegionAttributeSecurityService.getInstance().stopBroadcast(schemaRegion);
}

@Override
public void notifyLeaderChanged(ConsensusGroupId groupId, int newLeaderId) {
public void notifyLeaderChanged(final ConsensusGroupId groupId, final int newLeaderId) {
if (newLeaderId != IoTDBDescriptor.getInstance().getConfig().getDataNodeId()) {
logger.info(
"Current node [nodeId: {}] is no longer the schema region leader [regionId: {}], "
Expand All @@ -81,7 +83,7 @@ public void notifyLeaderChanged(ConsensusGroupId groupId, int newLeaderId) {

@Override
public void notifyNotLeader() {
int dataNodeId = IoTDBDescriptor.getInstance().getConfig().getDataNodeId();
final int dataNodeId = IoTDBDescriptor.getInstance().getConfig().getDataNodeId();
logger.info(
"Current node [nodeId: {}] is no longer the schema region leader [regionId: {}], "
+ "start cleaning up related services.",
Expand All @@ -90,6 +92,7 @@ public void notifyNotLeader() {

// Shutdown leader related service for schema pipe
PipeDataNodeAgent.runtime().notifySchemaLeaderUnavailable(schemaRegion.getSchemaRegionId());
GeneralRegionAttributeSecurityService.getInstance().stopBroadcast(schemaRegion);

logger.info(
"Current node [nodeId: {}] is no longer the schema region leader [regionId: {}], "
Expand All @@ -107,6 +110,7 @@ public void notifyLeaderReady() {

// Activate leader related service for schema pipe
PipeDataNodeAgent.runtime().notifySchemaLeaderReady(schemaRegion.getSchemaRegionId());
GeneralRegionAttributeSecurityService.getInstance().startBroadcast(schemaRegion);

logger.info(
"Current node [nodeId: {}] as schema region leader [regionId: {}] is ready to work",
Expand All @@ -120,7 +124,7 @@ public boolean isReadOnly() {
}

@Override
public boolean takeSnapshot(File snapshotDir) {
public boolean takeSnapshot(final File snapshotDir) {
if (schemaRegion.createSnapshot(snapshotDir)
&& PipeDataNodeAgent.runtime()
.schemaListener(schemaRegion.getSchemaRegionId())
Expand All @@ -132,7 +136,7 @@ public boolean takeSnapshot(File snapshotDir) {
}

@Override
public void loadSnapshot(File latestSnapshotRootDir) {
public void loadSnapshot(final File latestSnapshotRootDir) {
schemaRegion.loadSnapshot(latestSnapshotRootDir);
PipeDataNodeAgent.runtime()
.schemaListener(schemaRegion.getSchemaRegionId())
Expand All @@ -142,14 +146,14 @@ public void loadSnapshot(File latestSnapshotRootDir) {
listen2Snapshot4PipeListener(false);
}

public void listen2Snapshot4PipeListener(boolean isTmp) {
Pair<Path, Path> snapshotPaths =
public void listen2Snapshot4PipeListener(final boolean isTmp) {
final Pair<Path, Path> snapshotPaths =
SchemaRegionSnapshotParser.getSnapshotPaths(
Utils.fromConsensusGroupIdToRaftGroupId(schemaRegion.getSchemaRegionId())
.getUuid()
.toString(),
isTmp);
SchemaRegionListeningQueue listener =
final SchemaRegionListeningQueue listener =
PipeDataNodeAgent.runtime().schemaListener(schemaRegion.getSchemaRegionId());
if (Objects.isNull(snapshotPaths) || Objects.isNull(snapshotPaths.getLeft())) {
if (listener.isOpened()) {
Expand All @@ -169,27 +173,28 @@ public void listen2Snapshot4PipeListener(boolean isTmp) {
}

@Override
public TSStatus write(IConsensusRequest request) {
public TSStatus write(final IConsensusRequest request) {
try {
TSStatus result = ((PlanNode) request).accept(new SchemaExecutionVisitor(), schemaRegion);
final TSStatus result =
((PlanNode) request).accept(new SchemaExecutionVisitor(), schemaRegion);
if (result.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
PipeDataNodeAgent.runtime()
.schemaListener(schemaRegion.getSchemaRegionId())
.tryListenToNode((PlanNode) request);
}
return result;
} catch (IllegalArgumentException e) {
} catch (final IllegalArgumentException e) {
logger.error(e.getMessage(), e);
return new TSStatus(TSStatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
}
}

@Override
public DataSet read(IConsensusRequest request) {
FragmentInstance fragmentInstance;
public DataSet read(final IConsensusRequest request) {
final FragmentInstance fragmentInstance;
try {
fragmentInstance = getFragmentInstance(request);
} catch (IllegalArgumentException e) {
} catch (final IllegalArgumentException e) {
logger.error(e.getMessage());
return null;
}
Expand Down
Loading