Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: mk, mongomk
    • Labels:
      None

      Description

      There should be an implementation of the MicroKernel based on MongoDB. It should support scalability by providing a model which can handle multiple concurrent writes and has a great throughput for reads (consistent).
      MongoDB seems to already supply these requirements naturally. If we can find a model which fits JCR on top of MongoDB this would greatly improve throughput by allowing horizontal scaling.

      1. 0001-MongoDB-based-MicroKernel-fro-Oak.patch
        502 kB
        Philipp Marx
      2. OAK-293-1.patch
        298 kB
        Mete Atamel
      There are no Sub-Tasks for this issue.

        Activity

        Hide
        Marcel Reutegger added a comment -

        Won't fix. This issue was created for the first version of the MongoMK.

        The new MongoMK implementation is tracked in OAK-619.

        Show
        Marcel Reutegger added a comment - Won't fix. This issue was created for the first version of the MongoMK. The new MongoMK implementation is tracked in OAK-619 .
        Hide
        Jukka Zitting added a comment -

        Patch committed in revision 1388369. Thanks!

        I'll take a closer look at the test and perf codebases.

        Show
        Jukka Zitting added a comment - Patch committed in revision 1388369. Thanks! I'll take a closer look at the test and perf codebases.
        Hide
        Mete Atamel added a comment -

        I attempted to move -test to oak-it but ran into issues. It wasn't recognizing the mongo specific fixture. I'm also not totally sure where to move -perf under oak-bench and how to make it not run by default (as -perf needs a mongo instance that's not available by default). I'll leave these for now.

        Show
        Mete Atamel added a comment - I attempted to move -test to oak-it but ran into issues. It wasn't recognizing the mongo specific fixture. I'm also not totally sure where to move -perf under oak-bench and how to make it not run by default (as -perf needs a mongo instance that's not available by default). I'll leave these for now.
        Hide
        Mete Atamel added a comment -

        This patch merges impl and api modules into mongomk module.

        Show
        Mete Atamel added a comment - This patch merges impl and api modules into mongomk module.
        Hide
        Mete Atamel added a comment -

        Sounds good, Thanks Jukka. Not terribly important but I'm wondering if oak-mk-mongo is a better module name than oak-mongomk in order to stay consistent with other MK related modules like oak-mk-api, oak-mk-remote, etc.?

        Show
        Mete Atamel added a comment - Sounds good, Thanks Jukka. Not terribly important but I'm wondering if oak-mk-mongo is a better module name than oak-mongomk in order to stay consistent with other MK related modules like oak-mk-api, oak-mk-remote, etc.?
        Hide
        Jukka Zitting added a comment -

        I committed the patch in revision 1386591.

        As defined in the patch, the MongoMK code is currently built only when the mongomk profile is enabled with -Pmongomk. I'll look into making the MongMK a part of the default build.

        Also, I'd like to merge the separate -api and -impl components into the main oak-mongomk component (we can use Java packages for design-level separation), and move the -test and -perf components to under oak-it and oak-bench together with the other integration tests and performance benchmarks we have.

        Show
        Jukka Zitting added a comment - I committed the patch in revision 1386591. As defined in the patch, the MongoMK code is currently built only when the mongomk profile is enabled with -Pmongomk. I'll look into making the MongMK a part of the default build. Also, I'd like to merge the separate -api and -impl components into the main oak-mongomk component (we can use Java packages for design-level separation), and move the -test and -perf components to under oak-it and oak-bench together with the other integration tests and performance benchmarks we have.
        Hide
        Jukka Zitting added a comment -

        Looks great, thanks! I notice you also submitted a CLA, which is typically required for large contributions like this.

        Show
        Jukka Zitting added a comment - Looks great, thanks! I notice you also submitted a CLA, which is typically required for large contributions like this.
        Hide
        Philipp Marx added a comment -

        Initial projects + idea

        Show
        Philipp Marx added a comment - Initial projects + idea

          People

          • Assignee:
            Unassigned
            Reporter:
            Philipp Marx
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 2m
              2m
              Remaining:
              Remaining Estimate - 2m
              2m
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development