Caideyipi opened a new pull request, #18575:
URL: https://github.com/apache/iotdb/pull/18575
## Description
### Named Pipe memory blocks
- Add an immutable name to every PipeMemoryBlock managed by
PipeMemoryManager.
- Propagate descriptive names through all Pipe memory allocation APIs and
call sites.
- Keep live zero-sized blocks visible until release, while using weak
references so diagnostics do not retain otherwise unreachable zero-sized blocks.
- Preserve one output row per block instance; blocks with the same name are
not aggregated.
### SHOW PIPE MEMORY and information_schema
- Add SHOW PIPE MEMORY in the table SQL dialect.
- Add information_schema.pipe_memory with:
- name STRING TAG
- memory_usage_in_bytes INT64 ATTRIBUTE
- Expose floating memory as an independent FloatingMemory block.
- Read the table from the local DataNode and require global system privilege.
### Tests
- Add parser and PipeMemoryManager unit coverage.
- Update IoTDBDatabaseIT for table discovery, schema, permissions,
SHOW/SELECT access, and system-table counts.
- Verified:
- mvn -o install -pl iotdb-core/node-commons,iotdb-core/relational-grammar
-DskipTests
- mvn -o test -pl iotdb-core/datanode
-Dtest=ShowPipeMemoryTest,PipeMemoryManagerResizeTest,LoadTsFileMemoryManagerTest
-Dcheckstyle.skip=true -Dspotless.check.skip=true
- mvn checkstyle:check -pl iotdb-core/datanode
- git diff --check
The integration test module could not be executed locally in offline mode
because several required snapshot artifacts were unavailable.
<hr>
This PR has:
- [x] been self-reviewed.
- [x] concurrent read and write
- [x] added comments explaining non-obvious lifecycle and accounting
behavior.
- [x] added unit tests or modified existing tests to cover new code paths.
- [x] added integration tests.
<hr>
##### Key changed/added classes
- PipeMemoryBlock
- PipeMemoryManager
- InformationSchema
- InformationSchemaContentSupplierFactory
- RelationalSql.g4
- AstBuilder
- IoTDBDatabaseIT
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]