How portable is indexing cache?

Answered

Hi,

We also work on large projects that take a while to index when imported, which brings the question how portable the indexing cache is. For example, if machine A generates index cache for jvm or python project, would the cache be usable by machine B for the exact same project if I just manually copy the cache over?

Thanks

4 comments
Comment actions Permalink

Right now only part of the cache is portable (namely %IDE_SYSTEM_DIRECTORY%\index\.persistent).

We have in plan to have more cache to be portable.

0
Comment actions Permalink

thank you! and please do keep us posted!

0
Comment actions Permalink

Hi @Maxim, could you roughly explain how index cache invalidation works in intellij idea (with scala plugin)?  The behavior I observed is a bit inconsistent/confusing.

 

Here is what I tried with a few iterations:

1. IDEA instance A & B have separate sets of system, config, and plugins dir specified in their idea.properties

2. Loaded a project in A which generates a project.ipr -> wait for all indexing to finish -> Close A. 

3. Copy A's (%IDE_SYSTEM_DIRECTORY%\index\.persistent) to B's (%IDE_SYSTEM_DIRECTORY%\index\.persistent)

4. Open project.ipr with B. 

Sometimes project does not require additional indexing in B, sometimes they get invalidated as I see B's (%IDE_SYSTEM_DIRECTORY%\index\.persistent) total size suddenly drops. 

0
Comment actions Permalink

Different set of plugins or some indexing version change usually cause removal of persistent index data as well. Usually log files provide more information on what was happened

0

Please sign in to leave a comment.