[Mondrian] RolapSchema Rev 92 Changelist 9138

Julian Hyde julianhyde at speakeasy.net
Wed Aug 8 17:45:10 EDT 2007


Richard,

Those rules leave one or two questions unanswered. For example, what happens
if I specify UseContentChecksum and DynamicSchemaProcessor?

How do I set the priority of UseSchemaPool and UseContentChecksum?

I seem to recall that we once treated 'http:' URLs differently than 'file:'
URLs. Is this still the case?

Can you add a writeup of the rules to the "Schema cache" section of the
config guide,
http://mondrian.pentaho.org/documentation/configuration.php#Schema_cache

Julian

> -----Original Message-----
> From: mondrian-bounces at pentaho.org 
> [mailto:mondrian-bounces at pentaho.org] On Behalf Of Richard Emberson
> Sent: Tuesday, August 07, 2007 1:13 PM
> To: Mondrian developer mailing list
> Subject: Re: [Mondrian] RolapSchema Rev 92 Changelist 9138
> 
> Returning to the pre-changelist 9138 behavior we would have:
> 
> DynamicSchemaProcessor :
>      Use dynamic schema processor
> CatalogContent :
>      Catalog content in connection string
> UseContentChecksum :
>      Use checksum to reuse RolapSchema objects. If RolapSchema already
>      exists with same checksum, use it.
> UseSchemaPool :
>      Use schema pool (if false, always create a new schema object
>      and do not put in pool)
> 
> UseSchemaPool.priority > UseContentChecksum.priority
>      when UseSchemaPool is false, then do not use UseContentChecksum
> CatalogContent.priority > DynamicSchemaProcessor.priority
>      when CatalogContent exists, then do not use 
> DynamicSchemaProcessor
> 
> 
> I don't believe that coupling the value of the useSchemaPool
> boolean to both UseSchemaPool and DynamicSchemaProcessor being
> empty, adds an alternative that can not be achieved other ways,
> in fact, it disallows using the DynamicSchemaProcessor
> with the schema pool.
> 
> Richard
> 
> 
> Julian Hyde wrote:
> >> -----Original Message-----
> >> From: mondrian-bounces at pentaho.org 
> >> [mailto:mondrian-bounces at pentaho.org] On Behalf Of Richard Emberson
> >> Sent: Tuesday, August 07, 2007 11:36 AM
> >> To: mondrian at pentaho.org
> >> Subject: [Mondrian] RolapSchema Rev 92 Changelist 9138
> >>
> >>
> >> With Rev 92 of RolapSchema.java changelist 9138
> >>
> >> went from:
> >>              boolean useSchemaPool =
> >>                  Boolean.parseBoolean(
> >>                      connectInfo.get(
> >>                          
> >> RolapConnectionProperties.UseSchemaPool.name(),
> >>                          "true"));
> >>
> >> to:
> >>              final boolean useSchemaPool =
> >>                  Boolean.parseBoolean(
> >>                      connectInfo.get(
> >>                          
> >> RolapConnectionProperties.UseSchemaPool.name(),
> >>                          "true")) &&
> >>                  Util.isEmpty(dynProcName);
> >>
> >> Which means that if one uses a dynamic processor as part of
> >> xmla, then each xmla request generates a new RolapSchema object.
> >> Is this the intended behavior?
> > 
> > There were quite a few other changes to that method. My 
> intent was to clean
> > up the rules for how the schema cache, MD5 checksum, and 
> dynamic schema
> > processor interact.
> > 
> > We've never documented those rules, and trying to decipher 
> the rules from
> > that routine was like reading tea leaves. Can you describe 
> what you think
> > the current behavior is, and what you think it should be?
> > 
> >> Can we have some mechanism of reusing RolapSchema objects
> >> when dynamic processors are used?
> > 
> > We need several behaviors. One way to reuse a RolapSchema 
> object if the
> > contents of the underlying URL have not changed; a way to 
> create a new
> > RolapSchema object if the contents of the underlying URL 
> have changed OR of
> > the dynamic schema processor deigns to spit out a different 
> string; and a
> > way to always create a new RolapSchema.
> > 
> > Julian
> > 
> > _______________________________________________
> > Mondrian mailing list
> > Mondrian at pentaho.org
> > http://lists.pentaho.org/mailman/listinfo/mondrian
> > 
> 
> 
> -- 
> Quis custodiet ipsos custodes:
> This email message is for the sole use of the intended 
> recipient(s) and
> may contain confidential information.  Any unauthorized review, use,
> disclosure or distribution is prohibited.  If you are not the intended
> recipient, please contact the sender by reply email and destroy all
> copies of the original message.
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
> 




More information about the Mondrian mailing list