Skip to content

project re-indexed every time opened #327

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jackieli-tes opened this issue Feb 9, 2022 · 9 comments
Open

project re-indexed every time opened #327

jackieli-tes opened this issue Feb 9, 2022 · 9 comments
Labels
index Related to the symbol indexer

Comments

@jackieli-tes
Copy link

jackieli-tes commented Feb 9, 2022

Hi,

Firstly, thanks for this awesome project.

My setup is Neovim 0.6.1 with coc.nvim. I'm staying on the HEAD of the master branch. Since #323 , I'm experience huge CPU usage every time I'm opening a project. I can see in the log it's trying to "update symbol index", but I'm trying to figure out what I'm doing that triggers the "re-indexing", seemingly to the whole project every time I open it. With vim, it's more obvious because I open and close it quite often.

the language server log from coc
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[Info  - 12:01:49] main      Adding script definitions [ScriptTemplateWithArgs]
[Info  - 12:01:49] main      Kotlin Language Server: Version 1.3.0
[Info  - 12:01:49] main      Connected to client
[Info  - 12:01:49] async0    Adding workspace folder df-catalog
[Info  - 12:01:49] async0    Adding 250 files under /home/jackieli/kotlin/df-catalog to source path
[Info  - 12:01:49] async0    Searching for dependencies and Java sources in workspace root /home/jackieli/kotlin/df-catalog
[Info  - 12:01:49] async0    Resolving dependencies for 'df-catalog' through Gradle's CLI using tasks [kotlinLSPProjectDeps]...
[Info  - 12:01:51] async0    Successfully resolved dependencies for 'df-catalog' using Gradle
[Info  - 12:01:51] async0    Resolving dependencies for 'df-catalog' through Gradle's CLI using tasks [kotlinLSPProjectDeps]...
[Info  - 12:01:52] async0    Successfully resolved dependencies for 'df-catalog' using Gradle
[Info  - 12:01:52] async0    Adding 221 files to class path
[Info  - 12:01:52] async0    Update build script path
[Info  - 12:01:52] async0    Resolving dependencies for 'df-catalog' through Gradle's CLI using tasks [kotlinLSPKotlinDSLDeps]...
[Info  - 12:01:53] async0    Successfully resolved build script dependencies for 'df-catalog' using Gradle
[Info  - 12:01:53] async0    Adding 540 files to build script class path
[Info  - 12:01:53] async0    Reinstantiating compiler
[Info  - 12:01:53] async0    Adding script definitions [ScriptTemplateWithArgs]
[Info  - 12:01:54] async0    Configuring Kotlin DSL script templates...
[Info  - 12:01:54] async0    Adding script definitions [ScriptTemplateWithArgs, KotlinInitScript, KotlinSettingsScript, KotlinBuildScript]
[Info  - 12:01:55] async2    Find symbols in .../elasticsearch/ElasticSearchDriver.kt
[Info  - 12:01:55] async2    Finished in 137 ms
[Info  - 12:02:02] async3    Updating symbol index...
[Info  - 12:02:02] ..worker-3Updated symbol index in 23 ms! (4 symbol(s))
[Info  - 12:02:03] async3    Updating symbol index...
[Info  - 12:02:03] ..worker-3Updated symbol index in 13 ms! (14 symbol(s))
[Info  - 12:02:06] async3    Updating symbol index...
[Info  - 12:02:06] ..worker-3Updated symbol index in 3 ms! (16 symbol(s))
[Info  - 12:02:06] async3    Updating symbol index...
[Info  - 12:02:06] ..worker-3Updated symbol index in 4 ms! (18 symbol(s))
[Info  - 12:02:10] async3    Updating symbol index...
[Info  - 12:02:10] ..worker-3Updated symbol index in 4 ms! (22 symbol(s))
[Info  - 12:02:11] async3    Updating symbol index...
[Info  - 12:02:11] ..worker-3Updated symbol index in 3 ms! (24 symbol(s))
[Info  - 12:02:11] async3    Updating symbol index...
[Info  - 12:02:11] ..worker-3Updated symbol index in 3 ms! (26 symbol(s))
[Info  - 12:02:11] async3    Updating symbol index...
[Info  - 12:02:11] ..worker-3Updated symbol index in 3 ms! (28 symbol(s))
[Info  - 12:02:11] async3    Updating symbol index...
[Info  - 12:02:11] ..worker-3Updated symbol index in 3 ms! (30 symbol(s))
[Info  - 12:02:11] async3    Updating symbol index...
[Info  - 12:02:11] ..worker-3Updated symbol index in 3 ms! (32 symbol(s))
[Info  - 12:02:12] async3    Updating symbol index...
[Info  - 12:02:12] ..worker-3Updated symbol index in 3 ms! (46 symbol(s))
[Info  - 12:02:13] async3    Updating symbol index...
[Info  - 12:02:13] ..worker-3Updated symbol index in 7 ms! (54 symbol(s))
[Info  - 12:02:13] async3    Updating symbol index...
[Info  - 12:02:13] ..worker-3Updated symbol index in 3 ms! (64 symbol(s))
[Info  - 12:02:14] async3    Updating symbol index...
[Info  - 12:02:14] ..worker-3Updated symbol index in 3 ms! (66 symbol(s))
[Info  - 12:02:15] async3    Updating symbol index...
[Info  - 12:02:15] ..worker-3Updated symbol index in 4 ms! (78 symbol(s))
[Info  - 12:02:15] async2    Find symbols in .../service/CatalogDataService.kt
[Info  - 12:02:16] async2    Finished in 66 ms
[Info  - 12:02:16] async3    Updating symbol index...
[Info  - 12:02:16] ..worker-3Updated symbol index in 5 ms! (118 symbol(s))
[Info  - 12:02:17] async3    Updating symbol index...
[Info  - 12:02:17] ..worker-3Updated symbol index in 3 ms! (128 symbol(s))
[Info  - 12:02:18] async3    Updating symbol index...
[Info  - 12:02:18] ..worker-3Updated symbol index in 3 ms! (146 symbol(s))
[Info  - 12:02:18] async3    Updating symbol index...
[Info  - 12:02:18] ..worker-3Updated symbol index in 3 ms! (154 symbol(s))
[Info  - 12:02:18] async2    Find symbols in .../driver/DataProxy.kt
[Info  - 12:02:18] async2    Finished in 34 ms
[Info  - 12:02:19] async3    Updating symbol index...
[Info  - 12:02:19] ..worker-3Updated symbol index in 3 ms! (164 symbol(s))
[Info  - 12:02:19] async3    Updating symbol index...
[Info  - 12:02:19] ..worker-3Updated symbol index in 2 ms! (166 symbol(s))
[Info  - 12:02:19] async3    Updating symbol index...
[Info  - 12:02:19] ..worker-3Updated symbol index in 3 ms! (168 symbol(s))
[Info  - 12:02:19] async3    Updating symbol index...
[Info  - 12:02:19] ..worker-3Updated symbol index in 3 ms! (172 symbol(s))
[Info  - 12:02:20] async3    Updating symbol index...
[Info  - 12:02:20] ..worker-3Updated symbol index in 3 ms! (196 symbol(s))
[Info  - 12:02:21] async3    Updating symbol index...
[Info  - 12:02:21] ..worker-3Updated symbol index in 3 ms! (206 symbol(s))
[Info  - 12:02:21] async3    Updating symbol index...
[Info  - 12:02:21] ..worker-3Updated symbol index in 2 ms! (208 symbol(s))
[Info  - 12:02:21] async3    Updating symbol index...
[Info  - 12:02:21] ..worker-3Updated symbol index in 2 ms! (210 symbol(s))
[Info  - 12:02:22] async3    Updating symbol index...
[Info  - 12:02:22] ..worker-3Updated symbol index in 2 ms! (212 symbol(s))
[Info  - 12:02:23] async3    Updating symbol index...
[Info  - 12:02:23] ..worker-3Updated symbol index in 4 ms! (238 symbol(s))
[Info  - 12:02:23] async3    Updating symbol index...
[Info  - 12:02:23] ..worker-3Updated symbol index in 2 ms! (242 symbol(s))
[Info  - 12:02:23] async3    Updating symbol index...
[Info  - 12:02:23] ..worker-3Updated symbol index in 3 ms! (246 symbol(s))
[Info  - 12:02:24] async3    Updating symbol index...
[Info  - 12:02:24] ..worker-3Updated symbol index in 2 ms! (250 symbol(s))
[Info  - 12:02:24] async3    Updating symbol index...
[Info  - 12:02:24] ..worker-3Updated symbol index in 2 ms! (254 symbol(s))
[Info  - 12:02:25] async3    Updating symbol index...
[Info  - 12:02:25] ..worker-3Updated symbol index in 2 ms! (258 symbol(s))
[Info  - 12:02:25] async3    Updating symbol index...
[Info  - 12:02:25] ..worker-3Updated symbol index in 2 ms! (262 symbol(s))
[Info  - 12:02:26] async3    Updating symbol index...
[Info  - 12:02:26] ..worker-3Updated symbol index in 9 ms! (266 symbol(s))
[Info  - 12:02:26] async3    Updating symbol index...
[Info  - 12:02:26] ..worker-3Updated symbol index in 2 ms! (268 symbol(s))
[Info  - 12:02:26] async3    Updating symbol index...
[Info  - 12:02:26] ..worker-3Updated symbol index in 3 ms! (276 symbol(s))
[Info  - 12:02:26] async3    Updating symbol index...
[Info  - 12:02:26] ..worker-3Updated symbol index in 1 ms! (280 symbol(s))
[Info  - 12:02:27] async3    Updating symbol index...
[Info  - 12:02:27] ..worker-3Updated symbol index in 2 ms! (288 symbol(s))
[Info  - 12:02:27] async3    Updating symbol index...
[Info  - 12:02:27] ..worker-3Updated symbol index in 1 ms! (290 symbol(s))
[Info  - 12:02:28] async3    Updating symbol index...
[Info  - 12:02:28] ..worker-3Updated symbol index in 1 ms! (292 symbol(s))
[Info  - 12:02:28] async3    Updating symbol index...
[Info  - 12:02:28] ..worker-3Updated symbol index in 2 ms! (298 symbol(s))
[Info  - 12:02:28] async3    Updating symbol index...
[Info  - 12:02:28] ..worker-3Updated symbol index in 1 ms! (300 symbol(s))
[Info  - 12:02:29] async3    Updating symbol index...
[Info  - 12:02:29] ..worker-3Updated symbol index in 2 ms! (310 symbol(s))
[Info  - 12:02:29] async3    Updating symbol index...
[Info  - 12:02:29] ..worker-3Updated symbol index in 2 ms! (316 symbol(s))
[Info  - 12:02:29] async3    Updating symbol index...
[Info  - 12:02:29] ..worker-3Updated symbol index in 3 ms! (346 symbol(s))
[Info  - 12:02:29] async3    Updating symbol index...
[Info  - 12:02:29] ..worker-3Updated symbol index in 1 ms! (348 symbol(s))
[Info  - 12:02:29] async3    Updating symbol index...
[Info  - 12:02:29] ..worker-3Updated symbol index in 1 ms! (352 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:30] ..worker-3Updated symbol index in 1 ms! (360 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:30] ..worker-3Updated symbol index in 1 ms! (362 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:30] ..worker-3Updated symbol index in 1 ms! (366 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:30] ..worker-3Updated symbol index in 1 ms! (380 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:30] ..worker-3Updated symbol index in 2 ms! (382 symbol(s))
[Info  - 12:02:30] async3    Updating symbol index...
[Info  - 12:02:31] ..worker-3Updated symbol index in 2 ms! (394 symbol(s))
[Info  - 12:02:31] async2    Find symbols in .../driver/DataProxy.kt
[Info  - 12:02:31] async2    Finished in 25 ms
[Info  - 12:02:31] async3    Updating symbol index...
[Info  - 12:02:31] ..worker-3Updated symbol index in 2 ms! (400 symbol(s))
[Info  - 12:02:31] async3    Updating symbol index...
[Info  - 12:02:31] ..worker-3Updated symbol index in 2 ms! (404 symbol(s))
[Info  - 12:02:31] async3    Updating symbol index...
[Info  - 12:02:31] ..worker-3Updated symbol index in 2 ms! (406 symbol(s))
[Info  - 12:02:32] async3    Updating symbol index...
[Info  - 12:02:32] ..worker-3Updated symbol index in 2 ms! (408 symbol(s))
[Info  - 12:02:33] async3    Updating symbol index...
[Info  - 12:02:33] ..worker-3Updated symbol index in 2 ms! (430 symbol(s))
[Info  - 12:02:34] async3    Updating symbol index...
[Info  - 12:02:34] ..worker-3Updated symbol index in 2 ms! (432 symbol(s))
[Info  - 12:02:35] async3    Updating symbol index...
[Info  - 12:02:35] ..worker-3Updated symbol index in 2 ms! (442 symbol(s))
[Info  - 12:02:35] async3    Updating symbol index...
[Info  - 12:02:35] ..worker-3Updated symbol index in 2 ms! (448 symbol(s))
[Info  - 12:02:36] async3    Updating symbol index...
[Info  - 12:02:36] ..worker-3Updated symbol index in 2 ms! (454 symbol(s))
[Info  - 12:02:36] async3    Updating symbol index...
[Info  - 12:02:36] ..worker-3Updated symbol index in 2 ms! (460 symbol(s))
[Info  - 12:02:37] async3    Updating symbol index...
[Info  - 12:02:37] ..worker-3Updated symbol index in 4 ms! (510 symbol(s))
[Info  - 12:02:38] async3    Updating symbol index...
[Info  - 12:02:38] ..worker-3Updated symbol index in 2 ms! (522 symbol(s))
[Info  - 12:02:38] async3    Updating symbol index...
[Info  - 12:02:38] ..worker-3Updated symbol index in 2 ms! (526 symbol(s))
[Info  - 12:02:38] async3    Updating symbol index...
[Info  - 12:02:38] ..worker-3Updated symbol index in 3 ms! (534 symbol(s))
[Info  - 12:02:39] async3    Updating symbol index...
[Info  - 12:02:39] ..worker-3Updated symbol index in 2 ms! (538 symbol(s))
[Info  - 12:02:39] async3    Updating symbol index...
[Info  - 12:02:39] ..worker-3Updated symbol index in 1 ms! (540 symbol(s))
[Info  - 12:02:40] async3    Updating symbol index...
[Info  - 12:02:40] ..worker-3Updated symbol index in 2 ms! (542 symbol(s))
[Info  - 12:02:40] async3    Updating symbol index...
[Info  - 12:02:40] ..worker-3Updated symbol index in 3 ms! (544 symbol(s))
[Info  - 12:02:40] async3    Updating symbol index...
[Info  - 12:02:40] ..worker-3Updated symbol index in 2 ms! (552 symbol(s))
[Info  - 12:02:40] async3    Updating symbol index...
[Info  - 12:02:40] ..worker-3Updated symbol index in 2 ms! (556 symbol(s))
[Info  - 12:02:41] async3    Updating symbol index...
[Info  - 12:02:41] ..worker-3Updated symbol index in 2 ms! (558 symbol(s))
[Info  - 12:02:41] async3    Updating symbol index...
[Info  - 12:02:41] ..worker-3Updated symbol index in 2 ms! (564 symbol(s))
[Info  - 12:02:41] async3    Updating symbol index...
[Info  - 12:02:41] ..worker-3Updated symbol index in 2 ms! (586 symbol(s))
[Info  - 12:02:43] async3    Updating symbol index...
[Info  - 12:02:43] ..worker-3Updated symbol index in 3 ms! (618 symbol(s))
[Info  - 12:02:43] async2    Find symbols in .../driver/DataProxy.kt
[Info  - 12:02:43] async2    Finished in 19 ms
[Info  - 12:02:44] async3    Updating symbol index...
[Info  - 12:02:44] ..worker-3Updated symbol index in 2 ms! (658 symbol(s))
[Info  - 12:02:44] async2    Go-to-definition at .../driver/DataProxy.kt 197:13
[Info  - 12:02:44] async2    Re-parsing DataProxy.kt 195:5-210:6
[Info  - 12:02:44] async3    Updating symbol index...
[Info  - 12:02:44] ..worker-3Updated symbol index in 2 ms! (674 symbol(s))
[Info  - 12:02:44] async2    Hovering DOT_QUALIFIED_EXPRESSION
[Info  - 12:02:44] async2    Found declaration descriptor public fun com.tes.df.pb.common.Catalog.update(values: kotlin.collections.List<kotlin.Pair<com.tes.df.pb.common.Field, kotlin.Any?>>, constraint: com.tes.df.pb.common.Constraint): kotlin.Unit defined in com.tes.df.driver in file /home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/Helper.kt[SimpleFunctionDescriptorImpl@41758bc4]
[Info  - 12:02:44] async2    Finished in 537 ms
[Info  - 12:02:45] async2    Find symbols in .../driver/Helper.kt
[Info  - 12:02:45] async2    Finished in 1 ms
[Info  - 12:02:46] async3    Updating symbol index...
[Info  - 12:02:46] ..worker-3Updated symbol index in 3 ms! (744 symbol(s))
[Info  - 12:02:47] async2    Go-to-definition at .../driver/Helper.kt 65:13
[Info  - 12:02:47] async2    Re-parsing Helper.kt 63:1-65:87
[Info  - 12:02:47] async3    Updating symbol index...
[Info  - 12:02:47] ..worker-3Updated symbol index in 2 ms! (766 symbol(s))
[Info  - 12:02:47] async2    Hovering DOT_QUALIFIED_EXPRESSION
[Info  - 12:02:47] async2    Found declaration descriptor public fun getMutationDriver(driverName: kotlin.String): com.tes.df.driver.MutationDriver defined in com.tes.df.driver in file /home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/Driver.kt[SimpleFunctionDescriptorImpl@3213cc82]
[Info  - 12:02:47] async2    Finished in 484 ms
[Info  - 12:02:48] async3    Updating symbol index...
[Info  - 12:02:48] ..worker-3Updated symbol index in 2 ms! (786 symbol(s))
[Info  - 12:02:49] async3    Updating symbol index...
[Info  - 12:02:49] ..worker-3Updated symbol index in 2 ms! (804 symbol(s))
[Info  - 12:02:49] async3    Updating symbol index...
[Info  - 12:02:49] ..worker-3Updated symbol index in 1 ms! (820 symbol(s))
[Info  - 12:02:50] async2    Find symbols in .../driver/Driver.kt
[Info  - 12:02:50] async2    Finished in 1 ms
[Info  - 12:02:50] async3    Updating symbol index...
[Info  - 12:02:50] ..worker-3Updated symbol index in 3 ms! (876 symbol(s))
[Info  - 12:02:51] async3    Updating symbol index...
[Info  - 12:02:51] ..worker-3Updated symbol index in 3 ms! (888 symbol(s))
[Info  - 12:02:51] async2    Go-to-definition at .../driver/Driver.kt 87:43
[Info  - 12:02:51] async2    Re-parsing Driver.kt 80:1-90:2
[Info  - 12:02:52] async2    Hovering CALL_EXPRESSION
[Info  - 12:02:52] async2    Found declaration descriptor public constructor ElasticSearchDriver() defined in com.tes.df.driver.elasticsearch.ElasticSearchDriver[ClassConstructorDescriptorImpl@35b7a155]
[Info  - 12:02:52] async2    Finished in 1412 ms
[Info  - 12:02:53] async3    Updating symbol index...
[Info  - 12:02:53] ..worker-3Updated symbol index in 3 ms! (942 symbol(s))
[Info  - 12:02:53] async2    Find symbols in .../elasticsearch/ElasticSearchDriver.kt
[Info  - 12:02:53] async2    Finished in 1 ms
[Info  - 12:02:54] async3    Updating symbol index...
[Info  - 12:02:54] ..worker-3Updated symbol index in 2 ms! (994 symbol(s))
[Info  - 12:02:54] async3    Updating symbol index...
[Info  - 12:02:54] ..worker-3Updated symbol index in 1 ms! (1008 symbol(s))
[Info  - 12:02:55] async3    Updating symbol index...
[Info  - 12:02:55] ..worker-3Updated symbol index in 1 ms! (1010 symbol(s))
[Info  - 12:02:55] async3    Updating symbol index...
[Info  - 12:02:55] ..worker-3Updated symbol index in 2 ms! (1030 symbol(s))
[Info  - 12:02:55] async3    Updating symbol index...
[Info  - 12:02:55] ..worker-3Updated symbol index in 2 ms! (1060 symbol(s))
[Info  - 12:02:55] async3    Updating symbol index...
[Info  - 12:02:55] ..worker-3Updated symbol index in 2 ms! (1070 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 1 ms! (1072 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 1 ms! (1076 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 3 ms! (1078 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 1 ms! (1080 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 2 ms! (1088 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 2 ms! (1090 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 2 ms! (1092 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 2 ms! (1094 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 1 ms! (1096 symbol(s))
[Info  - 12:02:56] async3    Updating symbol index...
[Info  - 12:02:56] ..worker-3Updated symbol index in 1 ms! (1098 symbol(s))
[Info  - 12:02:57] async3    Updating symbol index...
[Info  - 12:02:57] ..worker-3Updated symbol index in 1 ms! (1100 symbol(s))
[Info  - 12:02:57] async3    Updating symbol index...
[Info  - 12:02:57] ..worker-3Updated symbol index in 2 ms! (1102 symbol(s))
[Info  - 12:02:57] async3    Updating symbol index...
[Info  - 12:02:57] ..worker-3Updated symbol index in 1 ms! (1104 symbol(s))
[Info  - 12:02:57] async3    Updating symbol index...
[Info  - 12:02:57] ..worker-3Updated symbol index in 2 ms! (1114 symbol(s))
[Info  - 12:02:57] async3    Updating symbol index...
[Info  - 12:02:57] ..worker-3Updated symbol index in 2 ms! (1116 symbol(s))
[Info  - 12:02:58] async3    Updating symbol index...
[Info  - 12:02:58] ..worker-3Updated symbol index in 5 ms! (1122 symbol(s))
[Info  - 12:02:58] async3    Updating symbol index...
[Info  - 12:02:58] ..worker-3Updated symbol index in 4 ms! (1124 symbol(s))
[Info  - 12:02:59] async3    Updating symbol index...
[Info  - 12:02:59] ..worker-3Updated symbol index in 1 ms! (1126 symbol(s))
[Info  - 12:02:59] async3    Updating symbol index...
[Info  - 12:02:59] ..worker-3Updated symbol index in 2 ms! (1130 symbol(s))
[Info  - 12:02:59] async3    Updating symbol index...
[Info  - 12:02:59] ..worker-3Updated symbol index in 2 ms! (1144 symbol(s))
[Info  - 12:02:59] async3    Updating symbol index...
[Info  - 12:02:59] ..worker-3Updated symbol index in 3 ms! (1172 symbol(s))
[Info  - 12:03:00] async3    Updating symbol index...
[Info  - 12:03:00] ..worker-3Updated symbol index in 2 ms! (1176 symbol(s))
[Info  - 12:03:00] async3    Updating symbol index...
[Info  - 12:03:00] ..worker-3Updated symbol index in 3 ms! (1212 symbol(s))
[Info  - 12:03:00] async3    Updating symbol index...
[Info  - 12:03:00] ..worker-3Updated symbol index in 2 ms! (1214 symbol(s))
[Info  - 12:03:01] async2    Go-to-definition at .../driver/Driver.kt 87:43
[Info  - 12:03:01] async2    Re-parsing Driver.kt 80:1-90:2
[Info  - 12:03:01] async3    Updating symbol index...
[Info  - 12:03:01] ..worker-3Updated symbol index in 2 ms! (1216 symbol(s))
[Info  - 12:03:01] async2    Hovering CALL_EXPRESSION
[Info  - 12:03:01] async2    Found declaration descriptor public constructor ElasticSearchDriver() defined in com.tes.df.driver.elasticsearch.ElasticSearchDriver[ClassConstructorDescriptorImpl@35b7a155]
[Info  - 12:03:01] async2    Finished in 16 ms
[Info  - 12:03:01] async3    Updating symbol index...
[Info  - 12:03:01] ..worker-3Updated symbol index in 9 ms! (1218 symbol(s))
[Info  - 12:03:01] async3    Updating symbol index...
[Info  - 12:03:01] ..worker-3Updated symbol index in 3 ms! (1238 symbol(s))
[Info  - 12:03:02] async3    Updating symbol index...
[Info  - 12:03:02] ..worker-3Updated symbol index in 2 ms! (1242 symbol(s))
[Info  - 12:03:03] async3    Updating symbol index...
[Info  - 12:03:03] ..worker-3Updated symbol index in 1 ms! (1264 symbol(s))
[Info  - 12:03:03] async3    Updating symbol index...
[Info  - 12:03:03] ..worker-3Updated symbol index in 1 ms! (1266 symbol(s))
[Info  - 12:03:03] async3    Updating symbol index...
[Info  - 12:03:03] ..worker-3Updated symbol index in 2 ms! (1270 symbol(s))
[Info  - 12:03:05] async3    Updating symbol index...
[Info  - 12:03:05] ..worker-3Updated symbol index in 2 ms! (1334 symbol(s))
[Info  - 12:03:05] async3    Updating symbol index...
[Info  - 12:03:05] ..worker-3Updated symbol index in 2 ms! (1336 symbol(s))
[Info  - 12:03:06] async2    Go-to-definition at .../elasticsearch/ElasticSearchDriver.kt 32:16
[Info  - 12:03:06] async2    Re-parsing ElasticSearchDriver.kt 29:5-33:6
[Info  - 12:03:06] async3    Updating symbol index...
[Info  - 12:03:06] ..worker-3Updated symbol index in 1 ms! (1338 symbol(s))
[Info  - 12:03:06] async2    Hovering DOT_QUALIFIED_EXPRESSION
[Info  - 12:03:06] async2    Found declaration descriptor public constructor ElasticSearchAdapter(client: org.elasticsearch.client.RestHighLevelClient, bySourceColumn: com.tes.df.pb.common.Field.() -> kotlin.String) defined in com.tes.df.driver.elasticsearch.adapter.ElasticSearchAdapter[ClassConstructorDescriptorImpl@41b1bb8f]
[Info  - 12:03:06] async2    Finished in 219 ms
[Info  - 12:03:06] async3    Updating symbol index...
[Info  - 12:03:06] ..worker-3Updated symbol index in 1 ms! (1340 symbol(s))
[Info  - 12:03:06] async3    Updating symbol index...
[Info  - 12:03:06] ..worker-3Updated symbol index in 12 ms! (1344 symbol(s))
[Info  - 12:03:06] async3    Updating symbol index...
[Info  - 12:03:06] ..worker-3Updated symbol index in 2 ms! (1346 symbol(s))
[Info  - 12:03:06] async3    Updating symbol index...
[Info  - 12:03:06] ..worker-3Updated symbol index in 2 ms! (1356 symbol(s))
[Info  - 12:03:07] async3    Updating symbol index...
[Info  - 12:03:07] ..worker-3Updated symbol index in 2 ms! (1362 symbol(s))
[Info  - 12:03:07] async3    Updating symbol index...
[Info  - 12:03:07] ..worker-3Updated symbol index in 2 ms! (1364 symbol(s))
[Info  - 12:03:07] async3    Updating symbol index...
[Info  - 12:03:07] ..worker-3Updated symbol index in 2 ms! (1366 symbol(s))
[Info  - 12:03:07] async3    Updating symbol index...
[Info  - 12:03:07] ..worker-3Updated symbol index in 2 ms! (1368 symbol(s))
[Info  - 12:03:08] async3    Updating symbol index...
[Info  - 12:03:08] ..worker-3Updated symbol index in 2 ms! (1370 symbol(s))
[Info  - 12:03:08] async3    Updating symbol index...
[Info  - 12:03:08] ..worker-3Updated symbol index in 1 ms! (1376 symbol(s))
[Info  - 12:03:08] async3    Updating symbol index...
[Info  - 12:03:08] ..worker-3Updated symbol index in 2 ms! (1380 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 1 ms! (1382 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 2 ms! (1386 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 2 ms! (1426 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 1 ms! (1428 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 2 ms! (1430 symbol(s))
[Info  - 12:03:09] async3    Updating symbol index...
[Info  - 12:03:09] ..worker-3Updated symbol index in 2 ms! (1434 symbol(s))
[Info  - 12:03:10] async3    Updating symbol index...
[Info  - 12:03:10] ..worker-3Updated symbol index in 1 ms! (1438 symbol(s))
[Info  - 12:03:11] async3    Updating symbol index...
[Info  - 12:03:11] ..worker-3Updated symbol index in 1 ms! (1440 symbol(s))
[Info  - 12:03:11] async3    Updating symbol index...
[Info  - 12:03:11] ..worker-3Updated symbol index in 1 ms! (1442 symbol(s))
[Info  - 12:03:11] async3    Updating symbol index...
[Info  - 12:03:11] ..worker-3Updated symbol index in 2 ms! (1450 symbol(s))
[Info  - 12:03:12] async3    Updating symbol index...
[Info  - 12:03:12] ..worker-3Updated symbol index in 3 ms! (1482 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 2 ms! (1494 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 2 ms! (1506 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 2 ms! (1508 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 1 ms! (1512 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 2 ms! (1514 symbol(s))
[Info  - 12:03:13] async3    Updating symbol index...
[Info  - 12:03:13] ..worker-3Updated symbol index in 2 ms! (1544 symbol(s))
[Info  - 12:03:14] async3    Updating symbol index...
[Info  - 12:03:14] ..worker-3Updated symbol index in 2 ms! (1545 symbol(s))
[Info  - 12:03:14] async3    Updating symbol index...
[Info  - 12:03:14] ..worker-3Updated symbol index in 2 ms! (1546 symbol(s))
[Info  - 12:03:14] async3    Updating symbol index...
[Info  - 12:03:14] ..worker-3Updated symbol index in 2 ms! (1547 symbol(s))
[Info  - 12:03:15] async3    Updating symbol index...
[Info  - 12:03:15] ..worker-3Updated symbol index in 2 ms! (1561 symbol(s))
[Info  - 12:03:15] async3    Updating symbol index...
[Info  - 12:03:15] ..worker-3Updated symbol index in 2 ms! (1572 symbol(s))
[Info  - 12:03:16] async3    Updating symbol index...
[Info  - 12:03:16] ..worker-3Updated symbol index in 2 ms! (1573 symbol(s))
[Info  - 12:03:17] async3    Updating symbol index...
[Info  - 12:03:17] ..worker-3Updated symbol index in 2 ms! (1575 symbol(s))
[Info  - 12:03:17] async3    Updating symbol index...
[Info  - 12:03:17] ..worker-3Updated symbol index in 1 ms! (1576 symbol(s))
[Info  - 12:03:17] async3    Updating symbol index...
[Info  - 12:03:17] ..worker-3Updated symbol index in 1 ms! (1577 symbol(s))
[Info  - 12:03:18] async3    Updating symbol index...
[Info  - 12:03:18] ..worker-3Updated symbol index in 1 ms! (1578 symbol(s))
[Info  - 12:03:18] async3    Updating symbol index...
[Info  - 12:03:18] ..worker-3Updated symbol index in 1 ms! (1579 symbol(s))
[Info  - 12:03:19] async3    Updating symbol index...
[Info  - 12:03:19] ..worker-3Updated symbol index in 1 ms! (1580 symbol(s))
[Info  - 12:03:19] async3    Updating symbol index...
[Info  - 12:03:19] ..worker-3Updated symbol index in 2 ms! (1581 symbol(s))
[Info  - 12:03:19] async3    Updating symbol index...
[Info  - 12:03:19] ..worker-3Updated symbol index in 1 ms! (1582 symbol(s))
[Info  - 12:03:20] async3    Updating symbol index...
[Info  - 12:03:20] ..worker-3Updated symbol index in 1 ms! (1583 symbol(s))
[Info  - 12:03:20] async3    Updating symbol index...
[Info  - 12:03:20] ..worker-3Updated symbol index in 2 ms! (1584 symbol(s))
[Info  - 12:03:20] async3    Updating symbol index...
[Info  - 12:03:20] ..worker-3Updated symbol index in 1 ms! (1585 symbol(s))
[Info  - 12:03:21] async3    Updating symbol index...
[Info  - 12:03:21] ..worker-3Updated symbol index in 2 ms! (1586 symbol(s))
[Info  - 12:03:21] async3    Updating symbol index...
[Info  - 12:03:21] ..worker-3Updated symbol index in 2 ms! (1587 symbol(s))
[Info  - 12:03:21] async3    Updating symbol index...
[Info  - 12:03:21] ..worker-3Updated symbol index in 1 ms! (1588 symbol(s))
[Info  - 12:03:21] async3    Updating symbol index...
[Info  - 12:03:21] ..worker-3Updated symbol index in 1 ms! (1589 symbol(s))
[Info  - 12:03:22] async3    Updating symbol index...
[Info  - 12:03:22] ..worker-3Updated symbol index in 2 ms! (1591 symbol(s))
[Info  - 12:03:22] async3    Updating symbol index...
[Info  - 12:03:22] ..worker-3Updated symbol index in 2 ms! (1592 symbol(s))
[Info  - 12:03:23] async3    Updating symbol index...
[Info  - 12:03:23] ..worker-3Updated symbol index in 2 ms! (1593 symbol(s))
[Info  - 12:03:23] async3    Updating symbol index...
[Info  - 12:03:23] ..worker-3Updated symbol index in 2 ms! (1594 symbol(s))
[Info  - 12:03:23] async3    Updating symbol index...
[Info  - 12:03:23] ..worker-3Updated symbol index in 1 ms! (1595 symbol(s))
[Info  - 12:03:23] async3    Updating symbol index...
[Info  - 12:03:23] ..worker-3Updated symbol index in 2 ms! (1596 symbol(s))
[Info  - 12:03:23] async3    Updating symbol index...
[Info  - 12:03:23] ..worker-3Updated symbol index in 1 ms! (1597 symbol(s))
[Info  - 12:03:24] async3    Updating symbol index...
[Info  - 12:03:24] ..worker-3Updated symbol index in 2 ms! (1598 symbol(s))
[Info  - 12:03:24] async3    Updating symbol index...
[Info  - 12:03:24] ..worker-3Updated symbol index in 1 ms! (1599 symbol(s))
[Info  - 12:03:24] async3    Updating symbol index...
[Info  - 12:03:24] ..worker-3Updated symbol index in 2 ms! (1600 symbol(s))
[Info  - 12:03:25] async3    Updating symbol index...
[Info  - 12:03:25] ..worker-3Updated symbol index in 2 ms! (1601 symbol(s))
[Info  - 12:03:25] async3    Updating symbol index...
[Info  - 12:03:25] ..worker-3Updated symbol index in 1 ms! (1602 symbol(s))
[Info  - 12:03:25] async3    Updating symbol index...
[Info  - 12:03:25] ..worker-3Updated symbol index in 2 ms! (1603 symbol(s))
[Info  - 12:03:26] async3    Updating symbol index...
[Info  - 12:03:26] ..worker-3Updated symbol index in 2 ms! (1604 symbol(s))
[Info  - 12:03:26] async3    Updating symbol index...
[Info  - 12:03:26] ..worker-3Updated symbol index in 1 ms! (1605 symbol(s))
[Info  - 12:03:26] async3    Updating symbol index...
[Info  - 12:03:26] ..worker-3Updated symbol index in 2 ms! (1606 symbol(s))
[Info  - 12:03:26] async3    Updating symbol index...
[Info  - 12:03:26] ..worker-3Updated symbol index in 2 ms! (1607 symbol(s))
[Info  - 12:03:27] async3    Updating symbol index...
[Info  - 12:03:27] ..worker-3Updated symbol index in 1 ms! (1608 symbol(s))
[Info  - 12:03:27] async3    Updating symbol index...
[Info  - 12:03:27] ..worker-3Updated symbol index in 2 ms! (1610 symbol(s))
[Info  - 12:03:27] async3    Updating symbol index...
[Info  - 12:03:27] ..worker-3Updated symbol index in 1 ms! (1611 symbol(s))
[Info  - 12:03:27] async3    Updating symbol index...
[Info  - 12:03:27] ..worker-3Updated symbol index in 2 ms! (1612 symbol(s))
[Info  - 12:03:28] async3    Updating symbol index...
[Info  - 12:03:28] ..worker-3Updated symbol index in 1 ms! (1613 symbol(s))
[Info  - 12:03:28] async3    Updating symbol index...
[Info  - 12:03:28] ..worker-3Updated symbol index in 1 ms! (1614 symbol(s))
[Info  - 12:03:28] async3    Updating symbol index...
[Info  - 12:03:28] ..worker-3Updated symbol index in 1 ms! (1615 symbol(s))
[Info  - 12:03:28] async3    Updating symbol index...
[Info  - 12:03:28] ..worker-3Updated symbol index in 1 ms! (1616 symbol(s))
[Info  - 12:03:29] async3    Updating symbol index...
[Info  - 12:03:29] ..worker-3Updated symbol index in 1 ms! (1617 symbol(s))
[Info  - 12:03:29] async3    Updating symbol index...
[Info  - 12:03:29] ..worker-3Updated symbol index in 1 ms! (1618 symbol(s))
[Info  - 12:03:30] async3    Updating symbol index...
[Info  - 12:03:30] ..worker-3Updated symbol index in 2 ms! (1619 symbol(s))
[Info  - 12:03:30] async3    Updating symbol index...
[Info  - 12:03:30] ..worker-3Updated symbol index in 2 ms! (1620 symbol(s))
[Info  - 12:03:30] async3    Updating symbol index...
[Info  - 12:03:30] ..worker-3Updated symbol index in 2 ms! (1621 symbol(s))
[Info  - 12:03:32] async3    Updating symbol index...
[Info  - 12:03:32] ..worker-3Updated symbol index in 2 ms! (1622 symbol(s))
[Info  - 12:03:32] async3    Updating symbol index...
[Info  - 12:03:32] ..worker-3Updated symbol index in 1 ms! (1625 symbol(s))
[Info  - 12:03:32] async3    Updating symbol index...
[Info  - 12:03:32] ..worker-3Updated symbol index in 1 ms! (1626 symbol(s))
[Info  - 12:03:33] async3    Updating symbol index...
[Info  - 12:03:33] ..worker-3Updated symbol index in 2 ms! (1629 symbol(s))
[Info  - 12:03:34] async3    Updating symbol index...
[Info  - 12:03:34] ..worker-3Updated symbol index in 1 ms! (1634 symbol(s))
[Info  - 12:03:34] async3    Updating symbol index...
[Info  - 12:03:34] ..worker-3Updated symbol index in 1 ms! (1635 symbol(s))
[Info  - 12:03:35] async3    Updating symbol index...
[Info  - 12:03:35] ..worker-3Updated symbol index in 2 ms! (1636 symbol(s))
[Info  - 12:03:35] async3    Updating symbol index...
[Info  - 12:03:35] ..worker-3Updated symbol index in 1 ms! (1637 symbol(s))
[Info  - 12:03:36] async3    Updating symbol index...
[Info  - 12:03:36] ..worker-3Updated symbol index in 2 ms! (1638 symbol(s))
[Info  - 12:03:37] async3    Updating symbol index...
[Info  - 12:03:37] ..worker-3Updated symbol index in 2 ms! (1641 symbol(s))
[Info  - 12:03:38] async3    Updating symbol index...
[Info  - 12:03:38] ..worker-3Updated symbol index in 1 ms! (1644 symbol(s))
[Info  - 12:03:40] async3    Updating symbol index...
[Info  - 12:03:40] ..worker-3Updated symbol index in 1 ms! (1647 symbol(s))
[Info  - 12:03:40] async3    Updating symbol index...
[Info  - 12:03:40] ..worker-3Updated symbol index in 1 ms! (1654 symbol(s))
[Info  - 12:03:41] async3    Updating symbol index...
[Info  - 12:03:41] ..worker-3Updated symbol index in 1 ms! (1659 symbol(s))
[Info  - 12:03:41] async3    Updating symbol index...
[Info  - 12:03:41] ..worker-3Updated symbol index in 1 ms! (1660 symbol(s))
[Info  - 12:03:42] async3    Updating symbol index...
[Info  - 12:03:42] ..worker-3Updated symbol index in 2 ms! (1661 symbol(s))
[Info  - 12:03:42] async3    Updating symbol index...
[Info  - 12:03:42] ..worker-3Updated symbol index in 1 ms! (1662 symbol(s))
[Info  - 12:03:43] async3    Updating symbol index...
[Info  - 12:03:43] ..worker-3Updated symbol index in 2 ms! (1663 symbol(s))
[Info  - 12:03:43] async3    Updating symbol index...
[Info  - 12:03:43] ..worker-3Updated symbol index in 2 ms! (1664 symbol(s))
[Info  - 12:03:43] async3    Updating symbol index...
[Info  - 12:03:43] ..worker-3Updated symbol index in 3 ms! (1667 symbol(s))
[Info  - 12:03:44] async3    Updating symbol index...
[Info  - 12:03:44] ..worker-3Updated symbol index in 1 ms! (1668 symbol(s))
[Info  - 12:03:44] async3    Updating symbol index...
[Info  - 12:03:44] ..worker-3Updated symbol index in 1 ms! (1670 symbol(s))
[Info  - 12:03:44] async3    Updating symbol index...
[Info  - 12:03:44] ..worker-3Updated symbol index in 1 ms! (1672 symbol(s))
[Info  - 12:03:44] async3    Updating symbol index...
[Info  - 12:03:44] ..worker-3Updated symbol index in 1 ms! (1674 symbol(s))
[Info  - 12:03:45] async3    Updating symbol index...
[Info  - 12:03:45] ..worker-3Updated symbol index in 2 ms! (1675 symbol(s))
[Info  - 12:03:45] async3    Updating symbol index...
[Info  - 12:03:45] ..worker-3Updated symbol index in 2 ms! (1681 symbol(s))
[Info  - 12:03:48] async3    Updating symbol index...
[Info  - 12:03:48] ..worker-3Updated symbol index in 2 ms! (1682 symbol(s))
[Info  - 12:03:48] async3    Updating symbol index...
[Info  - 12:03:48] ..worker-3Updated symbol index in 2 ms! (1685 symbol(s))
[Info  - 12:03:48] async3    Updating symbol index...
[Info  - 12:03:48] ..worker-3Updated symbol index in 2 ms! (1689 symbol(s))
[Info  - 12:03:49] async3    Updating symbol index...
[Info  - 12:03:49] ..worker-3Updated symbol index in 1 ms! (1690 symbol(s))
[Info  - 12:03:49] async3    Updating symbol index...
[Info  - 12:03:49] ..worker-3Updated symbol index in 2 ms! (1691 symbol(s))
[Info  - 12:03:49] async3    Updating symbol index...
[Info  - 12:03:49] ..worker-3Updated symbol index in 2 ms! (1692 symbol(s))
[Info  - 12:03:49] async3    Updating symbol index...
[Info  - 12:03:49] ..worker-3Updated symbol index in 2 ms! (1694 symbol(s))
[Info  - 12:03:50] async3    Updating symbol index...
[Info  - 12:03:50] ..worker-3Updated symbol index in 1 ms! (1697 symbol(s))
[Info  - 12:03:50] async3    Updating symbol index...
[Info  - 12:03:50] ..worker-3Updated symbol index in 2 ms! (1706 symbol(s))
[Info  - 12:03:51] async3    Updating symbol index...
[Info  - 12:03:51] ..worker-3Updated symbol index in 2 ms! (1707 symbol(s))
[Info  - 12:03:51] async3    Updating symbol index...
[Info  - 12:03:51] ..worker-3Updated symbol index in 1 ms! (1708 symbol(s))
[Info  - 12:03:51] async3    Updating symbol index...
[Info  - 12:03:51] ..worker-3Updated symbol index in 2 ms! (1709 symbol(s))
[Info  - 12:03:51] async3    Updating symbol index...
[Info  - 12:03:51] ..worker-3Updated symbol index in 2 ms! (1710 symbol(s))
[Info  - 12:03:52] async3    Updating symbol index...
[Info  - 12:03:52] debounce0 Linting 6 files
[Info  - 12:03:52] ..worker-3Updated symbol index in 2 ms! (1711 symbol(s))
[Info  - 12:03:52] debounce0 Reported 3 diagnostics in .../adapter/ElasticSearchAdapter.kt
[Info  - 12:03:52] debounce0 No diagnostics in file:///home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/elasticsearch/ElasticSearchDriver.kt
[Info  - 12:03:52] debounce0 No diagnostics in file:///home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/service/CatalogDataService.kt
[Info  - 12:03:52] debounce0 No diagnostics in file:///home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/DataProxy.kt
[Info  - 12:03:52] debounce0 No diagnostics in file:///home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/Helper.kt
[Info  - 12:03:52] debounce0 No diagnostics in file:///home/jackieli/kotlin/df-catalog/src/main/kotlin/com/tes/df/driver/Driver.kt
[Info  - 12:03:52] async3    Updating full symbol index...
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleSavepoint$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleParameterMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleTypeMetaData$Struct$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1internal$1OraclePreparedStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBfile$2oracle$1jdbc$1internal$1OracleBfile$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1AdditionalDatabaseMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableClob$2oracle$1jdbc$1internal$1OracleClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1OraclePreparedStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableRef$2oracle$1jdbc$1internal$1OracleRef$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1internal$1OracleCallableStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleResultSetMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableResultSet$2oracle$1jdbc$1internal$1OracleResultSet$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableArray$2oracle$1jdbc$1internal$1OracleArray$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableResultSet$2oracle$1jdbc$1internal$1OracleResultSet$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableOpaque$2oracle$1jdbc$1OracleOpaque$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleTypeMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableRef$2oracle$1jdbc$1internal$1OracleRef$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableArray$2oracle$1jdbc$1OracleArray$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableClob$2oracle$1jdbc$1OracleClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleResultSetMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleTypeMetaData$Array$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2java$1sql$1CallableStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableConnection$2oracle$1jdbc$1internal$1OracleConnection$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableConnection$2oracle$1jdbc$1OracleConnection$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBlob$2oracle$1jdbc$1internal$1OracleBlob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStruct$2oracle$1jdbc$1internal$1OracleStruct$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleTypeMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2java$1sql$1ParameterMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableResultSet$2oracle$1jdbc$1OracleResultSet$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableStatement$2oracle$1jdbc$1internal$1OraclePreparedStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleRowId$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableStatement$2oracle$1jdbc$1internal$1OracleStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1OracleStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBfile$2oracle$1jdbc$1OracleBfile$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBlob$2oracle$1jdbc$1OracleBlob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2java$1sql$1DatabaseMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableOthers$2oracle$1jdbc$1OracleSavepoint$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1AdditionalDatabaseMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableStruct$2oracle$1jdbc$1internal$1OracleStruct$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableRef$2oracle$1jdbc$1OracleRef$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBlob$2oracle$1jdbc$1internal$1OracleBlob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2java$1sql$1Statement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableNClob$2oracle$1jdbc$1OracleNClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleTypeMetaData$Array$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1ClientDataSupport$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableConnection$2oracle$1jdbc$1internal$1OracleConnection$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2java$1sql$1ResultSetMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleTypeMetaData$Struct$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableArray$2oracle$1jdbc$1internal$1OracleArray$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableStatement$2oracle$1jdbc$1internal$1OracleCallableStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableResultSet$2java$1sql$1ResultSet$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableOthers$2java$1sql$1Savepoint$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableSqlxml$2oracle$1jdbc$1internal$1XMLTypeIntf$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableClob$2oracle$1jdbc$1internal$1OracleClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleTypeMetaData$Opaque$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1OracleCallableStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableNClob$2oracle$1jdbc$1internal$1OracleNClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableNClob$2oracle$1jdbc$1internal$1OracleNClob$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBase$2oracle$1jdbc$1internal$1OracleTypeMetaData$Opaque$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableOthers$2java$1sql$1SQLOutput$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1internal$1OracleResultSetMetaData$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableOpaque$2oracle$1jdbc$1internal$1OracleOpaque$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2java$1sql$1PreparedStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1TxnReplayableBfile$2oracle$1jdbc$1internal$1OracleBfile$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableOpaque$2oracle$1jdbc$1internal$1OracleOpaque$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStatement$2oracle$1jdbc$1internal$1OracleStatement$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableStruct$2oracle$1jdbc$1OracleStruct$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableConnection$2java$1sql$1Connection$$$Proxy from index since its name is too long
[Warn  - 12:04:13] ..worker-3Excluding symbol oracle.jdbc.proxy.oracle$1jdbc$1replay$1driver$1NonTxnReplayableBase$2oracle$1jdbc$1OracleParameterMetaData$$$Proxy from index since its name is too long
[Info  - 12:05:41] ..worker-3Updated full symbol index in 101677 ms! (135057 symbol(s))
@daplf
Copy link
Contributor

daplf commented Feb 9, 2022

Hey @jackieli-tes

The re-indexing is done on file changes. But it should only be re-indexing symbols in a file you've changed. This is usually done on textDocument/didChange. The output you show is intriguing since it seems like the number of symbols being re-indexed just keeps growing. Can you provide a log of the LSP requests/notifications being sent and received from the server? This might help me understanding if it's a bug on the language server or just a problem with your setup.

@jackieli-tes
Copy link
Author

Here it is: kotlin-langserver.log.zip

It looks like only a couple requests were sent. A workspace didOpen, and a file didOpen.

@daplf
Copy link
Contributor

daplf commented Feb 9, 2022

Thanks! That output helps.

The language server logs confused me a bit, but the increase in number of symbols apparently makes sense (it's logging the total number of symbols indexed at that point in time, which includes previously indexed symbols as well).

So the logs actually make sense to me now. Before #323 we indexed everything on startup, but nothing was done afterwards. This PR introduced indexing on file changes, but in order to support that, we basically ended up having to compile the entire project on startup (which was probably a good idea nonetheless). Based on the logs, I'm guessing the compilation of all the files is what's hurting your CPU.

You'll notice the indexing of symbols takes only a couple of ms (per file) but the timestamps of the log messages suggest that compiling the files takes much longer. Taking this into account (and considering that the only real change on startup introduced by this PR is the compilation of all files) I'm guessing the compilation of all the files is what's overloading your CPU.

I'm not sure how we could make this more performant right now though. I would have to look into it when I have more time. Do you mind sharing your specs and OS? I'm not even sure how to test this out, since I probably won't have a setup close to yours. Bear in mind that you're the first one to run into this problem (although to be fair, this change is not part of a release yet, so very few people probably tested this).

@fwcd fwcd added the index Related to the symbol indexer label Feb 9, 2022
@jackieli-tes
Copy link
Author

jackieli-tes commented Feb 9, 2022

Thanks for the details. If I understand correctly, the compilation is needed once and only if it's not compiled before? And compiled class & other files will be saved in build/ directory?

My assumption is if I have opened the project once and wait for everything to be compliled, then I immediately close it and open again, it shouldn't need to compile it again?

My setup is pretty straight forward:

  1. install neovim & coc.vim
  2. clone this repo and build using ./gradlew installDist
  3. open coc config using :CocConfig
  4. edit the config to add: (taken from the EDITORS.md of this project)
    "kotlin": {
      "trace.server": "verbose",
      "command": "/home/jackieli/kotlin/kotlin-language-server/server/build/install/server/bin/kotlin-language-server",
      "filetypes": ["kotlin"]
    },
    
  5. open my project

My laptop spec (using neofetch):

OS: Ubuntu 20.04.3 LTS x86_64
Host: 20S0CTO1WW ThinkPad T14 Gen 1
Kernel: 5.13.0-28-generic
Uptime: 2 hours, 36 mins
Packages: 2902 (dpkg), 240 (brew), 14 (flatpak), 19 (snap)
Shell: zsh 5.8
Resolution: 1920x1200
WM: i3
Theme: Greybird [GTK3]
Icons: elementary-xfce-darker [GTK3]
Terminal: tmux
CPU: Intel i7-10510U (8) @ 4.900GHz
GPU: NVIDIA GeForce MX330
GPU: Intel UHD Graphics
Memory: 14911MiB / 47975MiB

@daplf
Copy link
Contributor

daplf commented Feb 9, 2022

the compilation is needed once and only if it's not compiled before?

Well, during a session this is true, but on startup it's not because the language server doesn't cache anything (I was actually about to suggest we implement this as a workaround instead).

And compiled class & other files will be saved in build/ directory?

As far as I know, we don't do any code generation.

My assumption is if I have opened the project once and wait for everything to be compliled, then I immediately close it and open again, it shouldn't need to compile it again?

This should be the way to go, but it's currently not implemented like that. I don't know if we have an issue to implement caching, but I think it would virtually solve your problem (and it would be a great feature to have).

Thanks for the setup and specs. I'll try to find time to dig a bit more into it, but I can't promise I'll do it soon, since I'm quite busy. Introducing a language server cache looks much more promising though.

@jackieli-tes
Copy link
Author

Thanks for the explanation. However, I'm not sure I fully follow the "index" part.

And compiled class & other files will be saved in build/ directory?

My project is based on gradle and the compilation process would put all the class files under build/ directory:

❯ ls build | tee
classes
extracted-include-protos
extracted-protos
generated
kotlin
resources
scripts
tmp

So you're suggestion the kotlin-language-server would do a separate compilation and this is done in memory?

I can understand that the lsp server needs to load the symbols and definitions in memory, but the full source code compilation shouldn't be necessary right?

@daplf
Copy link
Contributor

daplf commented Feb 9, 2022

Yeah, perhaps I wasn't clear. Let me try to explain it better.

When I'm talking about the language server compiling the files, I'm not talking about the usual compilation you do when you invoke gradle. We use the Kotlin compiler API to compile files. Whether the compiler API itself does things in memory or using files, I don't know, since it's a vast code base. But the bottom line is that we don't generate code (i.e., it's not a full compilation).

Note that we still need to compile (perhaps "analyze" makes more sense to you here) the files in order to check for errors, so that's what we're doing here.

@jackieli-tes
Copy link
Author

jackieli-tes commented Feb 9, 2022

I see. Now they all make sense. Thanks for the explanation!

I don't see any issue logged for the "index cache". IMHO it's definitely needed: my project is not very big: about 43K LOC, and now every time I open it, the system feels sluggish for a few minutes.

@daplf
Copy link
Contributor

daplf commented Feb 9, 2022

#160 touches a bit on caching dependencies but yeah, I don't think there's a dedicated issue for caching. Note that I'm talking about caching multiple things. The symbol index would be a good thing to cache, especially since indexing dependencies can take a while, but the one that will solve your problem is caching the compilations of the files i.e., the IR (assuming the compilation of the files is what's overloading the CPU, that is).

I created a dedicated issue for it: #328

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
index Related to the symbol indexer
Projects
None yet
Development

No branches or pull requests

3 participants