Artem Astapenko
09/10/2020, 8:46 PMRequest URL: <http://localhost:8001/api/v1/source_implementations/discover_schema>
Body: { sourceImplementationId: "60b7efbe-bae4-4094-a154-380a6274a76d" }
Status Code: 500 Internal Server Error
s
Artem Astapenko
09/10/2020, 8:57 PMdataline-server | 2020-09-10 20:54:35 DEBUG UncaughtExceptionMapper:42 - Uncaught exception
dataline-server | java.lang.RuntimeException: Terminal job does not have an output
dataline-server | at io.dataline.server.handlers.SchedulerHandler.lambda$discoverSchemaForSourceImplementation$0(SchedulerHandler.java:120) ~[dataline-server-dev.jar:?]
dataline-server | at java.util.Optional.orElseThrow(Optional.java:401) ~[?:?]
dataline-server | at io.dataline.server.handlers.SchedulerHandler.discoverSchemaForSourceImplementation(SchedulerHandler.java:120) ~[dataline-server-dev.jar:?]
dataline-server | at io.dataline.server.apis.ConfigurationApi.lambda$discoverSchemaForSourceImplementation$11(ConfigurationApi.java:190) ~[dataline-server-dev.jar:?]
dataline-server | at io.dataline.server.apis.ConfigurationApi.execute(ConfigurationApi.java:291) ~[dataline-server-dev.jar:?]
dataline-server | at io.dataline.server.apis.ConfigurationApi.discoverSchemaForSourceImplementation(ConfigurationApi.java:190) ~[dataline-server-dev.jar:?]
dataline-server | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
dataline-server | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
dataline-server | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
dataline-server | at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
dataline-server | at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) ~[jersey-server-2.31.jar:?]
dataline-server | at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) ~[jersey-server-2.31.jar:?]
charles
source_implementations/discover_schema
source_implementations/check_connection
destination_implementations/check_connection
connections/sync
jobs/*
s
s
charles
charles
s
s
charles
charles
s
VERSION=dev docker-compose up
?s
s
docker-compose down
to turn off anything currently running, then run ./tools/build/acceptance_tests.sh
- does that pass?charles
Artem Astapenko
09/10/2020, 10:31 PMVERSION=dev docker-compose up
Artem Astapenko
09/10/2020, 10:31 PMArtem Astapenko
09/10/2020, 11:37 PMArtem Astapenko
09/11/2020, 12:14 PM> Task :dataline-api:generateApiClient
Output directory does not exist, or is inaccessible. No file (.openapi-generator-ignore) will be evaluated.
Successfully generated code to /Users/jamakase/Projects/dataline/dataline-api/build/generated/api/client
> Task :dataline-api:openApiGenerate
Output directory does not exist, or is inaccessible. No file (.openapi-generator-ignore) will be evaluated.
Successfully generated code to /Users/jamakase/Projects/dataline/dataline-api/build/generated/api/server
> Task :dataline-commons:compileJava
/Users/jamakase/Projects/dataline/dataline-commons/src/main/java/io/dataline/commons/resources/MoreResources.java:54: error: cannot find symbol
Preconditions.checkArgument(!name.isBlank());
^
symbol: method isBlank()
location: variable name of type String
/Users/jamakase/Projects/dataline/dataline-commons/src/main/java/io/dataline/commons/resources/MoreResources.java:65: error: cannot find symbol
searchPath = Path.of(url.toURI());
^
symbol: method of(URI)
location: interface Path
/Users/jamakase/Projects/dataline/dataline-commons/src/main/java/io/dataline/commons/io/IOs.java:37: error: cannot find symbol
Files.writeString(filePath, contents, StandardCharsets.UTF_8);
^
symbol: method writeString(Path,String,Charset)
location: class Files
/Users/jamakase/Projects/dataline/dataline-commons/src/main/java/io/dataline/commons/io/IOs.java:46: error: cannot find symbol
return Files.readString(path.resolve(fileName), StandardCharsets.UTF_8);
^
symbol: method readString(Path,Charset)
location: class Files
/Users/jamakase/Projects/dataline/dataline-commons/src/main/java/io/dataline/commons/env/Env.java:35: error: cannot find symbol
Env.valueOf(Objects.requireNonNullElse(System.getenv("ENV"), "test").toUpperCase());
^
symbol: method requireNonNullElse(String,String)
location: class Objects
5 errors
> Task :dataline-commons:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':dataline-commons:compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at <https://help.gradle.org>
BUILD FAILED in 2m 17s
s
s
./gradlew build
?Artem Astapenko
09/11/2020, 3:50 PMs
s
./tools/bin/acceptance_tests.sh
?Artem Astapenko
09/11/2020, 3:56 PMs
./gradlew build
once then run the acceptance test script again?s
s
Symbol not found
exceptionsArtem Astapenko
09/11/2020, 4:01 PMs
Artem Astapenko
09/11/2020, 4:04 PMs
s
Artem Astapenko
09/11/2020, 4:52 PMArtem Astapenko
09/11/2020, 5:35 PMs
Artem Astapenko
09/11/2020, 5:36 PMs
Artem Astapenko
09/11/2020, 5:37 PMs
s
charles
charles
Artem Astapenko
09/11/2020, 5:46 PMArtem Astapenko
09/11/2020, 5:47 PMcharles
Artem Astapenko
09/11/2020, 5:47 PMwhat sort of source are you using?
we have only postgres right now. Am I wrong?charles
charles
charles
/v1/source_implementations/check_connection:
Artem Astapenko
09/11/2020, 5:48 PMcharles
charles
Artem Astapenko
09/11/2020, 5:49 PMArtem Astapenko
09/11/2020, 5:50 PMcharles
charles
Artem Astapenko
09/11/2020, 5:51 PMcharles
/v1/source_implementations/create
/v1/source_implementations/check_connection (this will return true if dataline was able to connect to the connection you just created)
/v1/source_implementations/discover_schema (gets the schema)
Artem Astapenko
09/11/2020, 5:53 PMconst source = createSource(sourceDto);
const cnc = checkConnection(source);
if (cnc.success === false){
deleteSource(source);
}
charles
Artem Astapenko
09/11/2020, 5:54 PMcharles
source_implementations/update
and try again.Artem Astapenko
09/11/2020, 5:55 PMArtem Astapenko
09/11/2020, 5:56 PMthe other option is if it fails then the user inputs new data and then you call
but its not possible as source will be already created and user will be routed to second step where he needs to specify destinations and we do not store that much info about onboarding so we won’t be able to implement itcharles
also what to do, if user created source, but then somehow discover_schema fails? Like psql db started to fail?
Artem Astapenko
09/11/2020, 5:59 PMArtem Astapenko
09/11/2020, 6:01 PMcharles
charles
Artem Astapenko
09/11/2020, 6:06 PMArtem Astapenko
09/11/2020, 6:07 PMhow about if in the onboarding flow if discover_schema fails
I think thats totally perfect as a fast workaround. Any other fix that comes up into my mind is much more complex 🙂charles
charles
Artem Astapenko
09/11/2020, 6:07 PMArtem Astapenko
09/11/2020, 6:08 PMcharles
Artem Astapenko
09/11/2020, 7:02 PMcharles
Artem Astapenko
09/11/2020, 7:04 PMcharles