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

Storage API and basic configuration module

    XMLWordPrintableJSON

Details

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

    Description

      Introduce basic Storage API described in IEP-74 in a separate module.

      For now Storage API should contain only four basic methods to read, update and remove keys from Storage and to iterate over available keys:

      /** Interface providing methods to read, remove and update keys in storage. */
      public interface Storage {
          /** Reads a DataRow for a given Key. */
          public DataRow read(Key key);
       
          /** Removes DataRow associated with a given Key. */
          public void remove(Key key);
       
          /** Executes an update with custom logic implemented by UpdateClosure interface. */
          public update(Key key, UpdateClosure clo);
       
          /** Obtains Iterator over some DataRows in storage. */
          public Iterator<DataRow> iterator(/* parameters */).
      }
      

      This simplistic API is based on IgniteCacheOffheapManager from existing code base of Ignite 2.x. Only essential methods were left for the initial version of interface but it obviously will be refined during development.

      Details about some classes like Key or UpdateClosure are not clear yet and can be omitted (basic stub classes may be used).

      Implement basic configuration that is expected to be common for any Storage implementation.

      Attachments

        Issue Links

          Activity

            People

              ibessonov Ivan Bessonov
              sergeychugunov Sergey Chugunov
              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 - 4.5h
                  4.5h