Экспорт, чтение, проверка и очистка persistence cache dump
Эта страница — публичная реконструкция продуктовой спецификации по исходникам тестов Apache Ignite 2 на ревизии 486a6367610c4c891b729e89373695ef83165345.
Тесты cache dump описывают видимый оператору контракт создания, чтения, проверки, фильтрации, throttling, шифрования и очистки dump-артефактов.
Пользовательские гарантии
- Cache dumps являются читаемыми экспортами cache data и metadata через DumpReader.
- Создание dump поддерживает filters, compressed/raw формы, custom locations, config-only режим, preconditions для encrypted caches и срезы при concurrent mutations в проверенных сценариях.
- Validation и failure paths выдают actionable diagnostics для corruption/missing data/encryption/configuration и очищают неполные артефакты.
Трассируемые требования
После имени теста указывается только негативный или неоднозначный статус, например status=failed, status=flaky, status=ignored или status=mixed.
DUMP-READ-EXPORT-01 — dumps являются readable cache-data и metadata exports
Требование: созданные dumps должны читаться через ordinary object, binary-object и raw internal-object access paths и сохранять выбранные metadata/version details.
Зачем это нужно: Операторы и tooling нужны a dump artifact that can быть inspected independently of live cache APIs.
Граница: Свидетельство смешанной силы; не полная restore or disaster-recovery specification.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testCacheDumporg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testZippedCacheDumporg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpRawDataorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpRawDataAndDumpPathorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCompareRawWithCompressedCacheDumpsorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpEntryConflictVersion
DUMP-FILTER-LOCATION-01 — dump creation respects filters, copy selection и locations
Требование: Dump creation должен учитывать node/cache-group filters, primary-copy de-duplication, explicit/custom dump locations, custom data storage paths, lazy snapshot directory creation, и no-cache/config-only preconditions.
Зачем это нужно: Операторам нужны предсказуемый artifact placement и scope control.
Граница: Свидетельство из выбранные topology/storage layouts и точные precondition ошибки.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpWithNodeFilterCacheorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testCacheDumpWithReadGroupFilterorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testSkipCopiesorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testCacheDumpWithGroupFilterorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testOnlyConfigDumporg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpRawCustomStoragePathorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpRawCustomStoragePathAndDumpPathorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testSnapshotDirectoryCreatedLazilyorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCustomLocationorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCustomLocationWithDataCustomLocationorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpFailIfNoCachesorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testConfigOnlySnapshotThrows
DUMP-CONCURRENT-CUT-01 — dump represents a стабильный cut при controlled concurrent writes
Требование: Dump creation при controlled concurrent inserts, updates, removals, EntryProcessor mutations, expiry, и restart/streamer scenarios должен produce a согласованный readable artifact.
Зачем это нужно: A dump должен оставаться пригодным при этом приложения continue changing data in поддержанные scenarios.
Граница: Concurrent/restart доказательства являются слабыеer than прямые functional assertions; тесты являются bounded harnesses, не exhaustive isolation proofs.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testConcurrentDumpCreationThrowsorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testWithConcurrentInsertsorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testWithConcurrentUpdatesorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testWithConcurrentEntryProcessororg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testWithConcurrentRemovalsorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpWithExplicitExpireTimeorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpWithImplicitExpireTimeorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpAfterRestartWithStreamerorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpAfterRestartWithStreamerCustomLocationorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpAfterRestartorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpAfterRestartCustomLocation
DUMP-VALIDATION-01 — validation reports missing/corrupt/divergent dump data
Требование: Dump validation и iteration должен обнаруживают missing partition files, wrong hashes, wrong CRC/corrupted payloads, и allow checking из other nodes включая empty validation nodes.
Зачем это нужно: Операторам нужны actionable диагностика до trusting an offline dump.
Граница: Более слабое свидетельство: corruption является synthetic и some диагностика depend on точные ошибка text.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_singleNodeorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_multiNodeorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_singleNode_errorNoFileorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_multiNode_errorNoFileorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_singleNode_errorWrongHashorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckDumpFromOtherNode_multiNode_errorWrongHashorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpIteratorFaileOnWrongCrcorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckFailOnCorruptedDataorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCheckOnEmptyNode
DUMP-FAIL-CLEANUP-01 — failed or canceled dump creation fails closed
Требование: File-create, iterator-write, listener-write, explicit cancel, и unready-dump cases должен clean incomplete artifacts и keep the live cache usable.
Зачем это нужно: Failure должен не leave misleading artifacts or harm the running cluster.
Граница: Weaker где cancellation/event доказательства являются timing-sensitive or wait-result assertions являются слабые.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpCancelOnFileCreateErrororg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpCancelOnIteratorWriteErrororg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelfTest.testDumpCancelOnListenerWriteErrororg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testUnreadyDumpClearedorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCancelDump
DUMP-ENCRYPTION-OBS-01 — encrypted, throttled и debug-log dump modes раскрывают operator contracts
Требование: Encrypted dump creation/reading, dump rate limiting, и DumpReader debug logging должен follow проверенные preconditions и раскрывают group-name/no-group-name log detail.
Зачем это нужно: Операторам нужны secure/controlled dump behavior и useful trace logs для support.
Граница: Свидетельство: logging tests доказывают выбранные debug messages only.
Тесты-доказательства:
org.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testCreateEncryptedFailorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testReadEncryptedorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpRateLimiterorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpReaderDebugLogsGroupNameorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpReaderDebugLogsNullableGroupNameorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpReaderDebugLogsNoGroupNameorg.apache.ignite.internal.processors.cache.persistence.snapshot.dump.IgniteCacheDumpSelf2Test.testDumpReaderSkipCopiesLogsGroupName
Важные границы
- The доказательства являются about dump creation, reading, validation, диагностика, и cleanup; it является не полная restore or disaster-recovery specification.
- Many failure cases являются induced by synthetic filesystem corruption or injected errors, so diagnostic text является сильнее, чем coverage of каждый real storage ошибка.
- Cancellation event доказательства являются слабые где a wait result является не asserted.