-
1. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 28, 2014 7:08 AM (in response to jeetu)Hi,
since it's a small team we have to focus on recent releases, so this fix is included in version 7 only, I'm very sorry this causes you trouble.
The pull request with the fix is linked from the JIRA: https://github.com/infinispan/infinispan/pull/2874 you could apply that yourself to your branch, but I think you will need several other previous patches too.
Personally I think that if you're in need for an urgent solution you should not waste too much time with backport fixes and start the upgrade work ASAP as there are thousands of other fixes in version 7 which you would benefit from.
Indeed an index corruption will prevent any query to run properly; you have the option to trigger an index rebuild when this happens (although that's an horrible solution which I'd only apply if corruption is extremely rare, therefore your best way out would be to upgrade still).
-
2. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 28, 2014 7:24 AM (in response to sannegrinovero)Thanks for the quick response Sanne.
If i want to upgrade, i see that only Infinispan 7.0.0.CR2 is available public and 7.0.0.Final is due this month end. Will it be alright to upgrade to 7.0.0.CR2?
Also can i just upgrade infinispan and still use my lucene 3.6.2??
looks like Lucene upgrade to 4 is a bit scary at this moment. Need some good analysis as i see that they have made quite a few changes as part of their release. Some of the jars from lucene that we are using in lucene 3.6.2 are not available in 4.1.0.
Please assist.
Regards
Jithendra
-
3. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 29, 2014 3:48 AM (in response to jeetu)Hi Sanne,
Will all this resolve, if i change my cache mode to REPL for infinispan directory from DIST?
Regards
Jithendra
-
4. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 4:41 AM (in response to jeetu)Hi,
7.0.0.Final will be released very soon indeed, probably next week. Yes if you upgrade to 7.0.0.CR2 these issues should not appear anymore, but you would be required to update to Lucene 4. At this point Infinispan is using Lucene 4.8 but we're in the process of upgrading to Lucene 4.10.1 (that's just a bugfix release with very minor changes).
No you can't use Lucene 3 anymore; regarding the jars you use.. I'm not an expert on all of them but if you describe what you do we can try give some suggestions.
Do you make direct usage of Lucene APIs? The Lucene API changed significantly but if you're using the Hibernate Search API, we limited the damage to only some essential API changes so that would be an easier migration. Generally speaking the Hibernate based APIs try harder to maintain backwards compatibility than other projects.
Every API change of Hibernate Search (and consequentially Infinispan Query) is documented here: Hibernate Search Migration Guide
-
5. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 4:43 AM (in response to jeetu)Jithendra reddy wrote:
Hi Sanne,
Will all this resolve, if i change my cache mode to REPL for infinispan directory from DIST?
No sorry that's unrelated. The issue turned out to be a race condition during writes, which could overwrite the definition of which segments exist in a wrong order. This would happen only under high load of writers, but on any clustered configuration.
-
6. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 4:47 AM (in response to sannegrinovero)Apparently the JBoss Data Grid team backported all these fixes to version JDG 6.3.1; that would require a support subscription but is still using Lucene 3 and is backward compatible with Infinispan 6.
-
7. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 29, 2014 5:05 AM (in response to sannegrinovero)Thanks for all the responses Sanne.
I am afraid that upgradation is no more an option for this release, which is in another week's time. We thought of upgrading to 7.0.0 for the next release.
We are also in talks with Redhat for the JDG 6.3.1 subscription, which is again something for the next release, if it goes through.
For now this release, i have to come up with a configuration that can make my querying work on load, even if it consumes more memory.
I am thinking of REPL for the main caches and LOCAL for the index related caches or RAM itself as the directory for indexes. Will the REPLICATION update local indexes as and when the main caches get updated?
Regards
Jithendra
-
8. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 5:37 AM (in response to jeetu)Yes if you store the data which needs to be indexed in a REPL cache, then you can use a different Directory implementation to store the index.
http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_replication
In that case I would suggest using the FileSystem based Directory (which is the default implementation):
I would only suggest using the RAMDirectory for unit tests.
-
9. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 29, 2014 7:05 AM (in response to sannegrinovero)Hi Sanne,
FileSystem is not an option for our application. So, RAM directory, definitely not an option for prod??
Regards
Jithendra
-
10. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 7:56 AM (in response to jeetu)The RAMDirectory is a safe choice in terms of reliability, I was just saying that normally performance and scalability of the FSDirectory are better. Also, when using Infinispan you might not want to use a large portion of your heap memory to store the index.
-
11. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 29, 2014 8:11 AM (in response to sannegrinovero)Ok. We will restrict the amount of data to be indexed and make sure that this does not use up too much memory. Need to have the best possible configuration for this release as to be able to use querying.
App is written such that way that it has an option to restrict the cache usage & querying on data, to a limited set of very important customers.
Regards
Jithendra
-
12. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
jeetu Oct 29, 2014 12:44 PM (in response to jeetu)Sanne, one more query, can we have DIST mode for the caches to be indexed? Will distribution automatically update local indexes on each node? If yes, i could use DIST to save on memory instead of REPL. Let me know.
Regards
Jithendra
-
13. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
sannegrinovero Oct 29, 2014 1:21 PM (in response to jeetu)No, if you use DIST, the nodes which don't receive the data would not update their index.
This is only a valid configuration for specific kinds of sharding, for example if you use a custom hashing function and so partition the data and indexes.
-
14. Re: Infinispan as Lucene directory provider has "No sub-file with id .fnm found" errors in distributed mode
teacurran Jul 17, 2015 2:16 PM (in response to jeetu)Your post doesn't say what you are using to write to the index so I don't know if this will be helpful or not.
We were seeing the same error under load when using Hibernate Search. After a lot of trial and error, we found that the error went away if we set "hibernate.search.default.indexwriter.merge_factor" to it's minimum value of 2. The higher we made this number the sooner the error would appear. Hope this info helps someone.