(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{582:function(e,t,i){"use strict";i.r(t);var o=i(69),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"_1-work-process"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#_1-work-process"}},[e._v("#")]),e._v(" 1. work process")]),e._v(" "),i("h2",{attrs:{id:"main-link"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#main-link"}},[e._v("#")]),e._v(" Main link")]),e._v(" "),i("p",[e._v("IoTDB official website：https://iotdb.apache.org/")]),e._v(" "),i("p",[e._v("Code library：https://github.com/apache/iotdb/tree/master")]),e._v(" "),i("p",[e._v("Get started quickly：http://iotdb.apache.org/UserGuide/master/Get%20Started/QuickStart.html")]),e._v(" "),i("h2",{attrs:{id:"subscribe-to-mailing-list"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#subscribe-to-mailing-list"}},[e._v("#")]),e._v(" Subscribe to mailing list")]),e._v(" "),i("p",[e._v("The mailing list is where the Apache project conducts technical discussions and communication with users. Follow the mailing list to receive mail.")]),e._v(" "),i("p",[e._v("Mailing list address：dev@iotdb.apache.org")]),e._v(" "),i("p",[e._v("Follow method: Send an email to dev-subscribe@iotdb.apache.org with the email you want to receive the email, the subject content is not limited, after receiving the reply, send a confirmation email to the confirmation address again (the confirmation address is longer, it is recommended  gmail mailbox).")]),e._v(" "),i("p",[e._v("Other mailing list:")]),e._v(" "),i("ul",[i("li",[e._v("notifications@iotdb.apache.org (for JIRA information notification.)\n"),i("ul",[i("li",[e._v('If you just want to pay attention to some issues, you do not need to subscribe this mailing list.\nInstead, you just need to click "start-watching this issue" on the jira issue webpage.')])])]),e._v(" "),i("li",[e._v("commits@iotdb.apache.org (for code changes notification. Take care because this mailing list may have many emails)")]),e._v(" "),i("li",[e._v("reviews@iotdb.apache.org (for code reviews notification on Github.  Take care because this mailing list may have many emails)")])]),e._v(" "),i("h2",{attrs:{id:"new-features-bug-feedback-improvements-and-more"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#new-features-bug-feedback-improvements-and-more"}},[e._v("#")]),e._v(" New features, bug feedback, improvements, and more")]),e._v(" "),i("p",[e._v("All features or bugs that you want IoTDB to do can be raised on Jira：https://issues.apache.org/jira/projects/IOTDB/issues")]),e._v(" "),i("p",[e._v("You can choose issue types: bug, improvement, new feature, etc.  New issues will be automatically synchronized to the mailing list (notifications@), and subsequent discussions can be left on jira or on the mailing list.  When the issue is resolved, close the issue.")]),e._v(" "),i("h2",{attrs:{id:"email-discussion-content-english"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#email-discussion-content-english"}},[e._v("#")]),e._v(" Email discussion content (English)")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Joining the mailing list for the first time can introduce you briefly.  (Hi, I'm xxx ...)")])]),e._v(" "),i("li",[i("p",[e._v("Before developing a function, you can send an e-mail to declare the task you want to do.（Hi，I'm working on issue IOTDB-XXX，My plan is ...）")])])]),e._v(" "),i("h2",{attrs:{id:"contributing-documents"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#contributing-documents"}},[e._v("#")]),e._v(" Contributing documents")]),e._v(" "),i("p",[e._v("The content of all IoTDB official websites is in the docs of the project root directory:")]),e._v(" "),i("ul",[i("li",[e._v("docs/SystemDesign: System Design Document-English Version")]),e._v(" "),i("li",[e._v("docs/zh/SystemDesign: System Design Document-Chinese Version")]),e._v(" "),i("li",[e._v("docs/UserGuide: User Guide English Version")]),e._v(" "),i("li",[e._v("docs/zh/UserGuide: User Guide Chinese Version")]),e._v(" "),i("li",[e._v("docs/Community: community English Version")]),e._v(" "),i("li",[e._v("docs/zh/Community: community Chinese Version")]),e._v(" "),i("li",[e._v("docs/Development: Development Guide English Version")]),e._v(" "),i("li",[e._v("docs/zh/Development: Development Guide Chinese Version")])]),e._v(" "),i("p",[e._v("Correspondence between versions and branches on the official website:")]),e._v(" "),i("ul",[i("li",[e._v("In progress -> master")]),e._v(" "),i("li",[e._v("major_version.x -> rel/major_version （如 0.9.x -> rel/0.9）")])]),e._v(" "),i("p",[e._v("Precautions:")]),e._v(" "),i("ul",[i("li",[e._v("Images in Markdown can be uploaded to https://github.com/thulab/iotdb/issues/543 for url")]),e._v(" "),i("li",[e._v("Do not use special Unicode chars, e.g., U+FF1A")]),e._v(" "),i("li",[e._v("Do not use the character of dollar (as we will use Latex to generate pdf files)")])]),e._v(" "),i("h3",{attrs:{id:"code-formatting"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#code-formatting"}},[e._v("#")]),e._v(" Code Formatting")]),e._v(" "),i("p",[e._v("We use the "),i("a",{attrs:{href:"https://github.com/diffplug/spotless/tree/main/plugin-maven",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spotless\nplugin"),i("OutboundLink")],1),e._v(" together with "),i("a",{attrs:{href:"https://github.com/google/google-java-format",target:"_blank",rel:"noopener noreferrer"}},[e._v("google-java-format"),i("OutboundLink")],1),e._v(" to format our Java code. You can configure your IDE to automatically apply formatting on saving with these steps(Take idea as an example):")]),e._v(" "),i("ol",[i("li",[e._v("Download the "),i("a",{attrs:{href:"https://plugins.jetbrains.com/plugin/8527-google-java-format/versions/stable/83169",target:"_blank",rel:"noopener noreferrer"}},[e._v("google-java-format\nplugin v1.7.0.5"),i("OutboundLink")],1),e._v(", it can be installed in IDEA (Preferences -> plugins -> search google-java-format), "),i("a",{attrs:{href:"https://github.com/google/google-java-format#intellij-android-studio-and-other-jetbrains-ides",target:"_blank",rel:"noopener noreferrer"}},[e._v("More detailed setup manual"),i("OutboundLink")],1)]),e._v(" "),i("li",[e._v('Install the plugin from disk (Plugins -> little gear icon -> "Install plugin from disk" -> Navigate to downloaded zip file)')]),e._v(" "),i("li",[e._v("In the plugin settings, enable the plugin and keep the default Google code style (2-space indents)")]),e._v(" "),i("li",[e._v("Remember to never update this plugin to a later version，until Spotless was upgraded to version 1.8+.")]),e._v(" "),i("li",[e._v("Install the "),i("a",{attrs:{href:"https://plugins.jetbrains.com/plugin/7642-save-actions",target:"_blank",rel:"noopener noreferrer"}},[e._v("Save Actions\nplugin"),i("OutboundLink")],1),e._v(' , and enable the plugin, along with "Optimize imports" and "Reformat file"')]),e._v(" "),i("li",[e._v('In the "Save Actions" settings page, setup a "File Path Inclusion" for '),i("code",[e._v(".*\\.java")]),e._v(". Otherwise you will get unintended reformatting in other files you edit.")])]),e._v(" "),i("h2",{attrs:{id:"contributing-code"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#contributing-code"}},[e._v("#")]),e._v(" Contributing code")]),e._v(" "),i("p",[e._v("You can go to jira to pick up the existing issue or create your own issue and get it. The comment says that I can do this issue.")]),e._v(" "),i("ul",[i("li",[e._v("Clone the repository to your own local repository, clone to the local, and associate the apache repository as the upstream upstream repository.")]),e._v(" "),i("li",[e._v("Cut out a new branch from master. The branch name is determined by the function of this branch. It is usually called f_new_feature (such as f_storage_engine) or fix_bug (such as fix_query_cache_bug).")]),e._v(" "),i("li",[e._v("Add code style as the root java-google-style.xml in the idea")]),e._v(" "),i("li",[e._v("Modify the code and add test cases (unit test, integration test)\n"),i("ul",[i("li",[e._v("Integration test reference:server/src/test/java/org/apache/iotdb/db/integration/IoTDBTimeZoneIT")])])]),e._v(" "),i("li",[e._v("Use "),i("code",[e._v("mvn spotless:check")]),e._v(" to check the code style and use "),i("code",[e._v("mvn spotless:apply")]),e._v(" to correct the code style")]),e._v(" "),i("li",[e._v("Submit a PR, starting with [IOTDB-jira number]")]),e._v(" "),i("li",[e._v("Email to dev mailing list：(I've submitted a PR for issue IOTDB-xxx [link])")]),e._v(" "),i("li",[e._v("Make changes based on other people's reviews and continue to update until merged")]),e._v(" "),i("li",[e._v("close jira issue")])]),e._v(" "),i("h2",{attrs:{id:"_2-iotdb-debugging-method"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#_2-iotdb-debugging-method"}},[e._v("#")]),e._v(" 2. IoTDB debugging method")]),e._v(" "),i("p",[e._v("Recommended Use Intellij idea. "),i("code",[e._v("mvn clean package -DskipTests")]),e._v(" After putting "),i("code",[e._v("antlr/target/generated-sources/antlr4")]),e._v(" and "),i("code",[e._v("thrift/target/generated-sources/thrift")]),e._v(" marked as "),i("code",[e._v("Source Root")]),e._v("。")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Server main function：```server/src/main/java/org/apache/iotdb/db/service/IoTDB``, Can be started in debug mode")])]),e._v(" "),i("li",[i("p",[e._v("Cli："),i("code",[e._v("cli/src/main/java/org/apache/iotdb/cli/")]),e._v('，Use Cli for linux and WinCli for windows, you can start directly with the parameter "-h 127.0.0.1 -p 6667 -u root -pw root"')])]),e._v(" "),i("li",[i("p",[e._v("Server rpc implementation (mainly used for cli and server communication, generally start interruption point here):"),i("code",[e._v("server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl")])]),e._v(" "),i("ul",[i("li",[e._v("all jdbc statements：executeStatement(TSExecuteStatementReq req)")]),e._v(" "),i("li",[e._v("jdbc query：executeQueryStatement(TSExecuteStatementReq req)")]),e._v(" "),i("li",[e._v("native Write interface：insertRecord(TSInsertRecordReq req)")])])]),e._v(" "),i("li",[i("p",[e._v("Storage engine org.apache.iotdb.db.engine.StorageEngine")])]),e._v(" "),i("li",[i("p",[e._v("Query engine org.apache.iotdb.db.qp.QueryProcessor")])])]),e._v(" "),i("h2",{attrs:{id:"frequent-questions-when-compiling-the-source-code"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#frequent-questions-when-compiling-the-source-code"}},[e._v("#")]),e._v(" Frequent Questions when Compiling the Source Code")]),e._v(" "),i("ol",[i("li",[e._v("I could not download thrift-* tools, like "),i("code",[e._v("Could not get content org.apache.maven.wagon.TransferFailedException: Transfer failed for https://github.com/jt2594838/mvn-thrift-compiler/raw/master/thrift_0.12.0_0.13.0_linux.exe")])])]),e._v(" "),i("p",[e._v("It is due to some network problems (especially in China), you can:")]),e._v(" "),i("ul",[i("li",[e._v("Download the file from the URL manually;\n"),i("ul",[i("li",[e._v("https://github.com/jt2594838/mvn-thrift-compiler/blob/master/thrift_0.12.0_0.13.0_mac.exe")]),e._v(" "),i("li",[e._v("https://github.com/jt2594838/mvn-thrift-compiler/raw/master/thrift_0.12.0_0.13.0_mac.exe")])])]),e._v(" "),i("li",[e._v("Put the file to thrift/target/tools/")]),e._v(" "),i("li",[e._v("Re-run maven command like "),i("code",[e._v("mvn compile")])])])])}),[],!1,null,null,null);t.default=a.exports}}]);