BimberLab / DiscvrLabKeyModules

A collection of public LabKey modules developed by the Bimber Lab
4 stars 4 forks source link

Add LRUQueryCache #273

Closed hextraza closed 1 month ago

hextraza commented 2 months ago

Implementing a lucene caching strategy per session could look something like this. At the moment, the only weirdness I'm seeing is that whether or not a query actually gets cached is dependent on the caching policy, and UsageTrackingQueryCachingPolicy may not be the best choice given that many queries are pretty specific to individual users. To ensure searchString=all is always cached, we might need to implement the interface ourselves and make sure that all MatchAllDocsQueries are cached by default.

hextraza commented 2 months ago

Also, I wasn't sure what the best unique key to specify the session was -- container ID or something like that?

bbimber commented 2 months ago

Also, I wasn't sure what the best unique key to specify the session was -- container ID or something like that?

you mean the JBrowse session? It has a GUID that is it's unique key. That's how we reference them on the URL? Like this example: https://mgap.ohsu.edu/jbrowse/mGAP/browser.view?database=94F02F58-7675-103C-ACA7-0CA4B661AFC1

this class must have access to that GUID, doesnt it?

hextraza commented 2 months ago

Also, I wasn't sure what the best unique key to specify the session was -- container ID or something like that?

you mean the JBrowse session? It has a GUID that is it's unique key. That's how we reference them on the URL? Like this example: https://mgap.ohsu.edu/jbrowse/mGAP/browser.view?database=94F02F58-7675-103C-ACA7-0CA4B661AFC1

this class must have access to that GUID, doesnt it?

Yeah, I was just trying to figure out which GUID to use, since there are a few on the session object. I'll change this to use _objectId.