[JBoss JIRA] (ISPN-4651) LevelDB crashes JVM when stop() is called concurrently with write()
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4651?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-4651:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1113585|https://bugzilla.redhat.com/show_bug.cgi?id=1113585] from VERIFIED to CLOSED
> LevelDB crashes JVM when stop() is called concurrently with write()
> -------------------------------------------------------------------
>
> Key: ISPN-4651
> URL: https://issues.jboss.org/browse/ISPN-4651
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 7.0.0.Beta1
> Reporter: Radim Vansa
> Assignee: Radim Vansa
> Fix For: 7.0.0.Beta2
>
>
> This test reproduces the issue:
> {code}
> public void testConcurrentWriteAndRestart() {
> final int THREADS = 4;
> final AtomicBoolean run = new AtomicBoolean(true);
> final CountDownLatch started = new CountDownLatch(THREADS);
> ExecutorService executor = Executors.newFixedThreadPool(THREADS);
> for (int i = 0; i < THREADS; ++i) {
> executor.execute(new Runnable() {
> @Override
> public void run() {
> started.countDown();
> int i = 0;
> while (run.get()) {
> InternalCacheEntry entry = TestInternalCacheEntryFactory.create("k" + i, "v" + i);
> MarshalledEntry me = TestingUtil.marshalledEntry(entry, getMarshaller());
> cl.write(me);
> ++i;
> }
> }
> });
> }
> try {
> started.await();
> Thread.sleep(1000);
> cl.stop();
> Thread.sleep(1000);
> cl.start();
> Thread.sleep(1000);
> } catch (InterruptedException e) {
> throw new IllegalStateException(e);
> } finally {
> run.set(false);
> executor.shutdown();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-4604) Race condition in the QueryInterceptor involving SearchFactory
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4604?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-4604:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1135553|https://bugzilla.redhat.com/show_bug.cgi?id=1135553] from VERIFIED to CLOSED
> Race condition in the QueryInterceptor involving SearchFactory
> --------------------------------------------------------------
>
> Key: ISPN-4604
> URL: https://issues.jboss.org/browse/ISPN-4604
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying, Test Suite - Query
> Affects Versions: 7.0.0.Alpha5
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Fix For: 7.0.0.Beta1
>
>
> During perform work task in the QueryInterceptor, the underlying SearchFactory could be swapped (for example by some other thread calling SearchFactory.addClass) and temporarily return null when looking for indexBindings, and throws intermittent Exceptions like:
> {code}
> Caused by: org.hibernate.search.exception.SearchException: Unable to perform work. Entity Class is not @Indexed nor hosts @ContainedIn: class org.infinispan.query.test.VeryLongIndexNamedClass
> at org.hibernate.search.backend.impl.TransactionalWorker.performWork(TransactionalWorker.java:58)
> at org.infinispan.query.backend.QueryInterceptor.performSearchWorks(QueryInterceptor.java:233)
> at org.infinispan.query.backend.QueryInterceptor.performSearchWork(QueryInterceptor.java:227)
> at org.infinispan.query.backend.QueryInterceptor.updateIndexes(QueryInterceptor.java:221)
> at org.infinispan.query.backend.QueryInterceptor.processPutKeyValueCommand(QueryInterceptor.java:531)
> at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:162)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:46)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-4627) QueryInterceptor start() event mutates the SearchFactory multiple times
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4627?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-4627:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1135553|https://bugzilla.redhat.com/show_bug.cgi?id=1135553] from VERIFIED to CLOSED
> QueryInterceptor start() event mutates the SearchFactory multiple times
> -----------------------------------------------------------------------
>
> Key: ISPN-4627
> URL: https://issues.jboss.org/browse/ISPN-4627
> Project: Infinispan
> Issue Type: Enhancement
> Components: Embedded Querying
> Reporter: Sanne Grinovero
> Assignee: Sanne Grinovero
> Priority: Minor
> Fix For: 7.0.0.Beta1
>
>
> Just spotted while reviewing unrelated patches:
> the {{@Start}} annotated method of component {{QueryInterceptor}} loops throught the known entries of the {{clusterRegistry}} field, and will reboot the {{SearchFactory}} once for each entry.
> It's important to use the capability to pass multiple class types at once when mutating the SearchFactory, as this is an extremely slow operation, and especially in this case, if it's a node joining an existing cluster we expect to see a considerable amount of indexed types (probably all of them).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months