Forcefully re-resolve a stale PDE target definition

Occasionally Eclipse PDE gets stuck in an error state when it tries to resolve a target definition, e.g. caused by an intermittent network issues. Once it's gotten into this state, it's impossible to forcefully resolve the target definition. p2's clever cache is very persistently saving bandwidth and thus answering every request by the stale and erroneous on-disk cache.

To still re-resolve a stale PDE target definition, one has to remove the following workspace folders and restart the Eclipse IDE:

/path/to/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool /path/to/workspace/.metadata/.plugins/org.eclipse.pde.core/.p2/org.eclipse.equinox.p2.engine/profileRegistry

Unfortunately, bug #441190 supposed to fix this problem in PDE, is a mere workaround. It simply increments the target's sequence number to invalidate p2's internal cache. This is going to create a new version of the .target file on every click on the reload button. A mess when it's SCM controlled.

...cache invalidation: one of the hard problems in computer science.

Last posts

  1. Cross-compile kernel module (ext2) for Samsung nx300 on Ubuntu 14.04
  2. Auto backup files from the Samsung NX300 camera in the background
  3. SWTError: No more handles [gtk_init_check() failed] running platform tests (on Linux)
  4. Apache Felix HTTP whiteboard pattern on Equinox
  5. Real word scale greenhouse (temperature)