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

Separate cache for non collocated IgniteSet.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.7
    • data structures
    • None

    Description

      Currently, single data structures cache is shared between several collection instances (IgniteQueue, IgniteSet).
      To support iterator() and size() IgniteSet maintains plain on-heap Java sets on every node (see CacheDataStructuresManager.setDataMap). These sets duplicate backing-cache entries, both primary and backup. For big non-collocated sets it's too expensive to maintain redundant onheap data copies. The simplest way to avoid copies is to use separate cache for non-collocated IgniteSet version; hence size of set is the same as size of backing cache, and also set iterator is virtually the same as backing cache iterator.

      The difference between exising set implementation and set based on separate cache should be properly documented afterwards.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            xtern Pavel Pereslegin
            andrey-kuznetsov Andrey Kuznetsov
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment