Comments (11)
Why is CDA settings sharing by other users a problem?
AFAIK, this caches only the metadata for the connections/queries. Can you share a use case for this ?
The changes you made result in a segregated cda settings cache per user, which is something we'd like to avoid.
from cda.
Suppose I have a CDA resource shared between all the users. In its DataAccess sections, I have a proper caching key definition:
<Cache enabled="true" duration="900">
<Key name="user-in-session" value="${[security:principalName]}" default="user-in-session"/>
</Cache>
When looking at the same report from two different users (which use different data sources) I see the same data. Why is that? This is because the settings of this CDA were inserted into a cache when the first user has opened the report, and the cache key has gotten the value: user-in-session:firstUser
. When the second user opens the same report its cache key gets user-in-session:firstUser
as well, since the settings are cached.
from cda.
In my opinion, that means we're wrongly pre-calculating the cache keys and keeping that result. The cache key should be calculated when adding the resultset to cache in order to take into account the current context (session vars). Like we do for query parameters, which are also used in building the cache key.
from cda.
What if we move FormulaEvaluator.replaceFormula()
from pt.webdetails.cda.cache.DataAccessCacheElementParser.buildKeyValuePair(Element)
to some place like pt.webdetails.cda.dataaccess.AbstractDataAccess.getExtraCacheKey()
, so it will be called each time cache key is needed?
from cda.
I think I'd rather defer the call to DataAccessCacheElementParser.getCacheKey.
Instead of having that being called in the DataAccess constructor, I'd call it in the getCacheKey method. So, everytime a cache key is requested, the right cache key will be computed.
Probably move the parser from being a locally defined variable to object attribute.
from cda.
Please review the fix!
from cda.
looks good, merging.
thanks!
from cda.
Will this fix be merged into 5.1 branch?
from cda.
The cda 5.1 branch ? No, it won't. Why do you need that ?
from cda.
I'm asking because we used to take CDA from there (we're using Pentaho
5.1): http://ci.pentaho.com/view/x5.1x/job/pentaho-cda-pentaho-5.1/
If the change will not appear there, then we should take the artifact from
some other place (or build it ourselves).
On Tue, Aug 12, 2014 at 5:23 PM, Pedro Vale [email protected]
wrote:
The cda 5.1 branch ? No, it won't. Why do you need that ?
—
Reply to this email directly or view it on GitHub
#67 (comment).
from cda.
ok, fair enough.
The trunk builds support Pentaho 5.1 as well, so you can download the trunk build:
http://ci.pentaho.com/job/pentaho-cda/
or the stable builds (although it will be a month or so before this fix gets into the release branch);
http://ci.pentaho.com/job/pentaho-cda-release/lastSuccessfulBuild/artifact/cda-pentaho5/dist/
Pedro Vale
Webdetails Dev Lead
A 12/08/2014, às 15:28, Michael Spector [email protected] escreveu:
I'm asking because we used to take CDA from there (we're using Pentaho
5.1): http://ci.pentaho.com/view/x5.1x/job/pentaho-cda-pentaho-5.1/
If the change will not appear there, then we should take the artifact from
some other place (or build it ourselves).On Tue, Aug 12, 2014 at 5:23 PM, Pedro Vale [email protected]
wrote:The cda 5.1 branch ? No, it won't. Why do you need that ?
—
Reply to this email directly or view it on GitHub
#67 (comment).—
Reply to this email directly or view it on GitHub.
from cda.
Related Issues (9)
- Duplicate jar files on install via ctools-installer.sh HOT 1
- As a user I'd like the list of dataAcces in the Previewer to be sorted alphabetically HOT 1
- Duplication of records in pentaho CDA ouput. HOT 3
- More understandable Exception
- [Question] Is it possible to create custom CDA datasources ? HOT 1
- issue with numericarray parameter, metadata datasource and postgres db HOT 1
- NoSuchMethodError while reporting CDA error in catalina.out HOT 3
- As a user I want to be able to see if a query is running when I use the previewer (a progress indicator) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cda.