Hitachi Vantara Pentaho Community Forums
Results 1 to 3 of 3

Thread: [Mondrian] Mondrian Orchestrator SPI

  1. #1
    Luc Boudreau Guest

    Default [Mondrian] Mondrian Orchestrator SPI

    Pedro,

    Let's take that conversation to the public mailing list, shall we?

    Since you'll be writing a hazelcast implementation of the SegmentCache
    SPI, we might throw into the deal a new SPI for Mondrian so we can
    leverage hazelcast's task distribution capabilities.

    Hazelcast can return a java.util.concurrent.ExecutorService. For
    Mondrian, this means that it would simply have a new SPI which would
    provide that service to the RolapResultShepherd. The default
    implementation will run the tasks on the local machine, while allowing
    the community to build their own executor service and customize how
    and where the queries are executed by a cluster of Mondrian nodes.

    Better yet, we can isolate Mondrian further and create a simpler SPI,
    something along the lines of:

    public interface Orchestrator {

    public <T> Future<T>execute(FutureTask<T> delta, Type type) throws
    MondrianException;

    public enum Task {

    /** Task related to the execution of a MDX query coming from
    the user thread. Low priority. **/
    MDX_USER_QUERY(0),

    /** Task related to the execution of a sub query. High priority. **/
    MDX_SUB_QUERY(10);

    private final int priority;

    private Task(int priority) {
    this.priority = priority;
    }

    /** Returns the priority of this type of task, relative to other types,
    on a scale of Integer.MIN_VALUE to Integer.MAX_VALUE.
    A reference priority of 0 is given to MDX queries sent by a
    user on a user thread. **/
    public int getPriority(int priority) {
    return this.priority;
    }
    };
    }

    I'd like some review from other users of Mondrian on that API, if
    possible. If someone has a better idea, please share.

    If you want some more documentation on the SegmentCache SPI, here is a
    list of some resources.

    Here is the actual API.
    http://perforce.eigenbase.org:8080/@...mentCache.java

    Some explanations on the SPI.
    http://devdonkey.blogspot.com/2011/0...mentcache.html

    Here is some more functional documentation explaining how the segment
    cache interacts with Mondrian.
    http://wiki.pentaho.com/display/anal...faMondriannode


    Luc
    _______________________________________________
    Mondrian mailing list
    Mondrian (AT) pentaho (DOT) org
    http://lists.pentaho.org/mailman/listinfo/mondrian

  2. #2
    Julian Hyde Guest

    Default Re: [Mondrian] Mondrian Orchestrator SPI

    On Sep 29, 2011, at 7:16 AM, Luc Boudreau wrote:

    > Since you'll be writing a hazelcast implementation of the SegmentCache
    > SPI,


    Very exciting!

    > we might throw into the deal a new SPI for Mondrian so we can
    > leverage hazelcast's task distribution capabilities.
    >
    > Hazelcast can return a java.util.concurrent.ExecutorService. For
    > Mondrian, this means that it would simply have a new SPI which would
    > provide that service to the RolapResultShepherd. The default
    > implementation will run the tasks on the local machine, while allowing
    > the community to build their own executor service and customize how
    > and where the queries are executed by a cluster of Mondrian nodes.


    Can you sketch out some of the things we might do with a distributed executor service? Sounds to me like a solution in search of a problem.

    Julian

    _______________________________________________
    Mondrian mailing list
    Mondrian (AT) pentaho (DOT) org
    http://lists.pentaho.org/mailman/listinfo/mondrian

  3. #3
    Pedro Alves Guest

    Default Re: [Mondrian] Mondrian Orchestrator SPI

    Hey there


    I'd like to work on this one step at a time. Seems like the distributed
    cache is already working, and since we have very limited time it'd be
    good to start on it and after that work on the distributed executor. In
    what version is this? 3.3, right? Will there be a working branch after
    3.3 where we can test this? Would be hard to work on 4.0 as it stands



    On Thu Sep 29 20:44:29 2011, Julian Hyde wrote:
    >
    > On Sep 29, 2011, at 7:16 AM, Luc Boudreau wrote:
    >
    >> Since you'll be writing a hazelcast implementation of the SegmentCache
    >> SPI,

    >
    > Very exciting!
    >
    >> we might throw into the deal a new SPI for Mondrian so we can
    >> leverage hazelcast's task distribution capabilities.
    >>
    >> Hazelcast can return a java.util.concurrent.ExecutorService. For
    >> Mondrian, this means that it would simply have a new SPI which would
    >> provide that service to the RolapResultShepherd. The default
    >> implementation will run the tasks on the local machine, while allowing
    >> the community to build their own executor service and customize how
    >> and where the queries are executed by a cluster of Mondrian nodes.

    >
    > Can you sketch out some of the things we might do with a distributed executor service? Sounds to me like a solution in search of a problem.
    >
    > Julian
    >
    > _______________________________________________
    > Mondrian mailing list
    > Mondrian (AT) pentaho (DOT) org
    > http://lists.pentaho.org/mailman/listinfo/mondrian

    _______________________________________________
    Mondrian mailing list
    Mondrian (AT) pentaho (DOT) org
    http://lists.pentaho.org/mailman/listinfo/mondrian

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2017 Pentaho Corporation. All Rights Reserved.