Apache-Ignite Source-code Test продолжает работать из-за блокировки - PullRequest
0 голосов
/ 04 апреля 2019

Я устанавливаю исходный код apache-ignite локально и сталкиваюсь с некоторой проблемой во время выполнения тестов. Тест ReadWriteLockMultiThreadedTest.testReadThenWriteLockAcquire, кажется, глючит, поскольку он продолжает работать из-за уже полученной блокировки захвата.WriteLock будет конфликтовать с блокировкой чтения, так как она не освобождается к моменту получения блокировки записи ReentrantReadWriteLock от java.

Код для теста существует ниже.

public void testReadThenWriteLockAcquire() throws Exception {
        ReadWriteLock lock = new ReentrantReadWriteLock();

        lock.readLock().lock();

        lock.writeLock().lock();
    }

Может кто-нибудь объяснить, почему этот тест добавлени как он должен работать?

Весь тестовый класс можно посмотреть с.https://github.com/apache/ignite/blob/master/modules/core/src/test/java/org/apache/ignite/jvmtest/ReadWriteLockMultiThreadedTest.java

1 Ответ

2 голосов
/ 04 апреля 2019

Я не думаю, что этот тест должен выполняться во время нормальной работы. Всегда используйте Ignite с -DskipTests=true.

Тестирование Ignite является сложным процессом, так как предполагает одновременную работу десятков отдельных наборов тестов.

...