Trying to stack siddhi on wso2 Stream processor/Stream Integrator

212 Views Asked by At

I am running a simple Siddhi application as suggested on WSO2 documentation but I get the following exception. I'm following step 2 of this guide below https://ei.docs.wso2.com/en/latest/streaming-integrator/quick-start-guide/quick-start-guide/ Can someone Please tell me what I'm doing wrong? I have the productions.csv in

C:\Users\foo\productions.csv
osgi> [2021-03-11 13:32:04,530]  INFO {org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorService} - Siddhi App File ManageProductionStats undeployed successfully.
[2021-03-11 13:32:20,425]  WARN {org.wso2.carbon.siddhi.extensions.installer.core.internal.SiddhiExtensionsInstallerMicroservice} - The following extensions are required for Siddhi app 'ManageProductionStats': [kafka]. Please use the Extension Installer to install them.
[2021-03-11 13:32:20,456] ERROR {org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorDeployer} - io.siddhi.core.exception.SiddhiAppCreationException: Error on 'ManageProductionStats' @ Line: 6. Position: 23, near '@source(type = 'file', mode = "LINE", file.uri = "file:/Users/foo/productions.csv", tailing = "true",
    @map(type = 'csv'))'. Exception occurred when resolving path for: file:/Users/foo/productions.csv org.wso2.carbon.streaming.integrator.core.internal.exception.SiddhiAppDeploymentException: io.siddhi.core.exception.SiddhiAppCreationException: Error on 'ManageProductionStats' @ Line: 6. Position: 23, near '@source(type = 'file', mode = "LINE", file.uri = "file:/Users/foo/productions.csv", tailing = "true",
    @map(type = 'csv'))'. Exception occurred when resolving path for: file:/Users/foo/productions.csv
        at org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorDeployer.deploySiddhiQLFile(StreamProcessorDeployer.java:110)
        at org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorDeployer.update(StreamProcessorDeployer.java:356)
        at org.wso2.carbon.deployment.engine.internal.DeploymentEngine.lambda$updateArtifacts$2(DeploymentEngine.java:342)
        at java.util.ArrayList.forEach(ArrayList.java:1259)
        at org.wso2.carbon.deployment.engine.internal.DeploymentEngine.updateArtifacts(DeploymentEngine.java:333)
        at org.wso2.carbon.deployment.engine.internal.RepositoryScanner.sweep(RepositoryScanner.java:98)
        at org.wso2.carbon.deployment.engine.internal.RepositoryScanner.scan(RepositoryScanner.java:68)
        at org.wso2.carbon.deployment.engine.internal.SchedulerTask.run(SchedulerTask.java:43)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: io.siddhi.core.exception.SiddhiAppCreationException: Error on 'ManageProductionStats' @ Line: 6. Position: 23, near '@source(type = 'file', mode = "LINE", file.uri = "file:/Users/foo/productions.csv", tailing = "true",
    @map(type = 'csv'))'. Exception occurred when resolving path for: file:/Users/foo/productions.csv
        at io.siddhi.core.util.ExceptionUtil.populateQueryContext(ExceptionUtil.java:58)
        at io.siddhi.core.util.ExceptionUtil.populateQueryContext(ExceptionUtil.java:35)
        at io.siddhi.core.util.parser.helper.DefinitionParserHelper.addEventSource(DefinitionParserHelper.java:388)
        at io.siddhi.core.util.SiddhiAppRuntimeBuilder.defineStream(SiddhiAppRuntimeBuilder.java:117)
        at io.siddhi.core.util.parser.SiddhiAppParser.defineStreamDefinitions(SiddhiAppParser.java:374)
        at io.siddhi.core.util.parser.SiddhiAppParser.parse(SiddhiAppParser.java:230)
        at io.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:86)
        at io.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:96)
        at org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorService.deploySiddhiApp(StreamProcessorService.java:80)
        at org.wso2.carbon.streaming.integrator.core.internal.StreamProcessorDeployer.deploySiddhiQLFile(StreamProcessorDeployer.java:97)
        ... 14 more
Caused by: io.siddhi.core.exception.SiddhiAppRuntimeException: Exception occurred when resolving path for: file:/Users/foo/productions.csv
        at io.siddhi.extension.util.Utils.getFileObject(Utils.java:84)
        at io.siddhi.extension.io.file.FileSource.init(FileSource.java:419)
        at io.siddhi.core.stream.input.source.Source.init(Source.java:80)
        at io.siddhi.core.util.parser.helper.DefinitionParserHelper.addEventSource(DefinitionParserHelper.java:372)
        ... 21 more
Caused by: org.apache.commons.vfs2.FileSystemException: Invalid absolute URI "file:/Users/foo/productions.csv".
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:77)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:778)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:658)
        at io.siddhi.extension.util.Utils.getFileObject(Utils.java:82)
        ... 24 more
Caused by: org.apache.commons.vfs2.FileSystemException: URI "file:/Users/foo/productions.csv" is not an absolute file name.
        at org.apache.commons.vfs2.provider.local.WindowsFileNameParser.extractWindowsRootPrefix(WindowsFileNameParser.java:68)
        at org.apache.commons.vfs2.provider.local.WindowsFileNameParser.extractRootPrefix(WindowsFileNameParser.java:32)
        at org.apache.commons.vfs2.provider.local.LocalFileNameParser.parseUri(LocalFileNameParser.java:75)
        at org.apache.commons.vfs2.provider.AbstractFileProvider.parseUri(AbstractFileProvider.java:179)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:75)
        ... 27 more
1

There are 1 best solutions below

0
Anusha Jayasundara On

I believe you are trying this on a windows environment. So can you try out the following approach to provide the file path

file:<Driver_Name>:><Absolute_Path_To_The_File>/productions.csv
file:D:\WSO2\productions.csv