Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-18770

Create implementation of ItAbstractListenerSnapshotTest testing snapshots for B+Tree-based storage

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      In IGNITE-17817 implementation was done for RocksDB-based storage. We need to make the same for B+Tree-based storage when it gets ability to support snapshots.

      Implementation Notes

      Currently there are two extension points for an ItAbstractListenerSnapshotTest

      1. Listener type: Table, Metastorage.
      2. Storage type: Rocks, B+Tree, In-memory.

      Please pay attention that some of combinations are forbidden, e.g. we don't support in-memory meta storage.

       

      Thus we should either introduce new level of abstraction between ItAbstractListenerSnapshotTest and ItTablePersistenceTest/ItMetaStorageServicePersistenceTest in order to parametrize the implementations with specific storage along with corresponding configuration or use parametrize tests themselves. The latter might be non-trivial because of some tech details like resources injection:

      @InjectConfiguration("mock {flushDelayMillis = 0, defaultRegion {size = 16777216, writeBufferSize = 16777216}}")
      private RocksDbStorageEngineConfiguration engineConfig; 

      so, we should check whether parametrized tests are possible and switch back to old-fashioned inheritance if not.

      All in all we should parametrize following items:

      @InjectConfiguration("mock {flushDelayMillis = 0, defaultRegion {size = 16777216, writeBufferSize = 16777216}}")     private RocksDbStorageEngineConfiguration engineConfig;  

      and

      public RaftGroupListener createListener(ClusterService service, Path path, int index) {
        return paths.entrySet().stream()
        ...
        RocksDbStorageEngine storageEngine = new RocksDbStorageEngine(engineConfig, path);
        storageEngine.start();
      

       

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              Denis Chudov Denis Chudov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: