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

Separation of the PageMemoryStorageEngineConfigurationSchema into in-memory and persistent

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-beta1
    • None

    Description

      Problem

      At the moment, the org.apache.ignite.internal.storage.pagememory.configuration.schema.PageMemoryStorageEngineConfigurationSchema contains configuration for in-memory and persistent org.apache.ignite.internal.pagememory.configuration.schema.PageMemoryDataRegionConfigurationSchema, which can be inconvenient for the user for several reasons:

      • PageMemoryDataRegionConfigurationSchema contains the configuration for in-memory and the persistent case, which can be confusing because it's not obvious which properties to set for each;
      • User does not have the ability to set a different size PageMemoryStorageEngineConfigurationSchema#pageSize for in-memory and the persistent case;
      • When creating a table through SQL, it would be more convenient for the user to simply specify the engine and use the default region than specify the data region, let's look at the examples.
      CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE pagememory dataRegion='in-memory' 
      CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE pagememory dataRegion='persistnet'
      CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE in-memory-pagememory
      CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE persistnet-pagememory
      

      Implementation proposal

      Divide by two (in-memory and persistent):

      • org.apache.ignite.internal.pagememory.configuration.schema.PageMemoryDataRegionConfigurationSchema
      • org.apache.ignite.internal.storage.pagememory.configuration.schema.PageMemoryStorageEngineConfigurationSchema
      • org.apache.ignite.internal.storage.pagememory.PageMemoryStorageEngine

      Attachments

        Issue Links

          Activity

            People

              ktkalenko@gridgain.com Kirill Tkalenko
              ktkalenko@gridgain.com Kirill Tkalenko
              Aleksandr Polovtsev Aleksandr Polovtsev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 9h
                  9h