首页 > 解决方案 > 由于锁定,Apache-Ignite 源代码测试确实继续运行

问题描述

我在本地设置 apache-ignite 源代码并在运行测试时遇到一些问题。测试 ReadWriteLockMultiThreadedTest.testReadThenWriteLockAcquire 似乎有问题,因为它由于获取已经获得的锁而继续运行。WriteLock 将与 readlock 冲突,因为它在从 java 获取 ReentrantReadWriteLock 的 writelock 时未释放。

测试代码如下。

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

标签: ignite

解决方案


我认为这个测试不应该在正常操作期间运行。考虑始终使用-DskipTests=true.

Ignite 的测试运行非常复杂,因为它涉及并行运行数十个独立的测试套件。


推荐阅读