Uploaded image for project: 'Comdev GSOC'
  1. Comdev GSOC
  2. GSOC-196

Apache IoTDB Integration Test

    XMLWordPrintableJSON

Details

    Description

      Apache IoTDB is an Open Source IoT database designed to meet the rigorous data, storage, and analytics requirements of large-scale Internet of Things (IoT) and Industrial Internet of Things (IIoT) applications.

      Now, IoTDB uses JUnit for its UT/IT test.

      However, there are two drawbacks:

      1. There are many singleton class instances in IoTDB. Therefore, modifying something in a test may impact others, and it requires us do many cleanup work after a test.

      Especially, after we open an serversocket (by Thrift), though we have called the socket.close, the socket may be not closed quickly (controlled by Thrift). But, if the next test begins, then a "the port is already used" error will occur.

      2. when testing IoTDB's cluster module, we may need to start at least 3 IoTDB instances in one server.
      Using JUnit, the 3 instances will be in one JVM, which is conflicted with the reality "IoTDB has many singleton instances".

      So, next, we want to use TestContainer, which is a combiner of Docker and JUnit.

      This task is for:

      1. using TestContainer to re-implement all IT codes of IoTDB;
      2. using TestContainer to add some IT codes for IoTDB's cluster module.

      Needed skills:

      • Java
      • Docker (Docker-Compose better)
      • Know or learn Junit and TestContainer

      [1] iotdb.apache.org
      [2] https://www.testcontainers.org/

      Attachments

        Activity

          People

            Unassigned Unassigned
            hxd Xiangdong Huang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: