簡體   English   中英

錯誤 WSO2 - Siddhi - “MarkIn 連續調用,而沒有調用 markOut”

[英]Errror WSO2 - Siddhi - “MarkIn consecutively called without calling markOut in”

我是 WSO2 Siddhi 的新手,我希望您能幫助我。 我一直在嘗試修復它,但我不能。

我正在嘗試“通過監控面板監控流處理器”,並查看圖表,為此我將我的 siddhi 代碼保存在:

C:\\...\\wso2\\server\\deployment\\siddhi-files 和當執行 WSO2\\wso2si-4.0.0\\bin>。 \\ 服務器

我正在運行 siddhi 規則,但出現以下錯誤:

錯誤{io.siddhi.core.stream.StreamJunction} -使用來自 Stream 'OutputShareSomeKnowledgeStream' 的事件后,'SubmitSolutionPRUEBA' 中出現錯誤MarkIn 連續調用而沒有在 io.siddhi.SiddhiApps.SubmitSolutionPRUEBA.Siddhi.Tables.reward_basicTable.updateOrIns 中調用 markOut 延遲 因此,丟棄事件 'StreamEvent{ timestamp=1626790380632, beforeWindowData=null, onAfterWind], outputData=[Forum, 2017-May-10 09:51:48, 0f2f5191-5515-402d-bba2-73aa284d, Forum18d] , type=CURRENT, next=null}' java.lang.IllegalStateException:在 io.siddhi.SiddhiApps.SubmitSolutionPRUEBA.Siddhi.Tables.reward_basicTable.updateOrInsert.latency 中連續調用 MarkIn 而不調用 markOut

    at org.wso2.carbon.si.metrics.core.LatencyMetric.markIn(LatencyMetric.java:62)
    at io.siddhi.core.table.Table.updateOrAddEvents(Table.java:498)
    at io.siddhi.core.query.output.callback.UpdateOrInsertTableCallback.send(UpdateOrInsertTableCallback.java:78)
    at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104)
    at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:44)
    at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:97)
    at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182)
    at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:84)
    at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115)
    at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:179)
    at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:496)
    at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56)
    at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104)
    at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:44)
    at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:97)
    at io.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:58)
    at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182)
    at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:84)
    at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:145)
    at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:227)
    at io.siddhi.core.stream.StreamJunction.access$000(StreamJunction.java:64)
    at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:514)
    at io.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:39)
    at io.siddhi.core.stream.input.InputEntryValve.send(InputEntryValve.java:55)
    at io.siddhi.core.stream.input.InputHandler.send(InputHandler.java:91)
    at io.siddhi.core.stream.input.source.PassThroughSourceHandler.sendEvents(PassThroughSourceHandler.java:40)
    at io.siddhi.core.stream.input.source.InputEventHandler.sendEvents(InputEventHandler.java:111)
    at io.siddhi.extension.map.text.sourcemapper.TextSourceMapper.onEventHandler(TextSourceMapper.java:307)
    at io.siddhi.extension.map.text.sourcemapper.TextSourceMapper.mapAndProcess(TextSourceMapper.java:254)
    at io.siddhi.core.stream.input.source.SourceMapper.onEvent(SourceMapper.java:200)
    at io.siddhi.core.stream.input.source.SourceMapper.onEvent(SourceMapper.java:144)
    at io.siddhi.extension.io.file.processors.FileProcessor.receive(FileProcessor.java:176)
    at org.wso2.transport.file.connector.server.FileConsumer$EventListener.fileUpdated(FileConsumer.java:328)
    at org.wso2.transport.file.connector.server.FileConsumer$EventListener.access$100(FileConsumer.java:302)
    at org.wso2.transport.file.connector.server.FileConsumer.readLines(FileConsumer.java:272)
    at org.wso2.transport.file.connector.server.FileConsumer.processFile(FileConsumer.java:231)
    at org.wso2.transport.file.connector.server.FileConsumer.consume(FileConsumer.java:146)
    at org.wso2.transport.file.connector.server.FileServerConnector.poll(FileServerConnector.java:73)
    at org.wso2.carbon.connector.framework.server.polling.PollingJob.execute(PollingJob.java:51)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

我在 WSO2 Siddhi 中的代碼是:

- 輸入數據

@app:statistics(reporter = 'jdbc')

define stream InputDataStream (activityType string, weekdayTS string, monthTS string, dayTS string, yearTS string, hourTS string, cestTS string, studentId string, activityTypeId string, resto string);

- 出口

define stream OutputShareSomeKnowledgeStream (activityType string, timeStamp string, studentId string, activityTypeId string, totalTopics int, totalAnswers int);

@store(type='rdbms', jdbc.url="jdbc:mysql://localhost:3306/PruebaDB_1?&serverTimezone=UTC&autoReconnect=true&useSSL=false", username="root", password="root", jdbc.driver.name="com.mysql.cj.jdbc.Driver")
@primaryKey('studentId', 'activityTypeId')
define table OutputShareSomeKnowledgeTable (activityType string, timeStamp string, studentId string, activityTypeId string, totalTopics int, totalAnswers int);

- 桌子

@store(type='rdbms', jdbc.url="jdbc:mysql://localhost:3306/MEdit4CEPDB_1?&serverTimezone=UTC&autoReconnect=true&useSSL=false", username="root", password="root", jdbc.driver.name="com.mysql.cj.jdbc.Driver")
@primaryKey('playerId','activityTypeId')    
define table reward_basicTable (rewardName string, description string, count bool, type string, complexEventName string, timeStamp string, activityTypeId string, playerId string, value int);

-- 3. 查詢 --

@info(name='ShareSomeKnowledge')
from InputDataStream[activityType == 'Forum' and 
                    (convert(str:split(resto, ',', 0), 'int') + convert(str:split(resto, '([\s\,]+)', 1),'int')) >= 5]  -- if totalTopics + totalAnswers
select  activityType, 
        str:concat(yearTS, '-', monthTS, '-', dayTS, ' ', hourTS) as timeStamp,
        studentId, 
        activityTypeId,  
        convert(str:split(resto, ',', 0), 'int') as totalTopics,  
        convert(str:split(resto, '([\s\,]+)', 1), 'int') as totalAnswers
insert into OutputShareSomeKnowledgeStream;
  
@info(name='ShareSomeKnowledge_Basic')   -- Guardo puntuacion
from OutputShareSomeKnowledgeStream
select  'Point' as rewardName, 
        '' as description,
        true as count,
        'FixAction' as type,
        'ShareSomeKnowledge' as complexEventName,
        timeStamp,
        activityTypeId,
        studentId as playerId,
        10 as value
update or insert into reward_basicTable
on reward_basicTable.playerId==playerId and reward_basicTable.activityTypeId==activityTypeId;

-- I keep in table BD

from OutputShareSomeKnowledgeStream
select *
update or insert into OutputShareSomeKnowledgeTable
on OutputShareSomeKnowledgeTable.studentId==studentId  and OutputShareSomeKnowledgeTable.activityTypeId==activityTypeId;

我的輸入文件包含數據:

Forum,Sun May 07 06:07:37 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,3,0     
Forum,Mon May 08 04:59:25 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,3,1     
Forum,Wed May 10 03:14:10 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,4,1     
Forum,Wed May 10 03:14:10 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,4,2     
Forum,Wed May 10 03:14:10 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,4,3    
Forum,Wed May 10 09:51:48 CEST 2017,0f2f5191-5515-402d-bba2-73aa280285d3,Forum1,4,12

該程序在測試時運行良好,但在部署時執行它以獲得延遲圖,使用的內存......監控,文件的第一行輸入數據將其保存在表中,但其余部分沒有,它給出了上面公開的錯誤,我沒有得到圖表。

我怎么能解決這個錯誤? 我需要查看跟蹤圖表。 謝謝

[已解決]切換到Siddhi siddhi-runner-5.1.2和siddhi-tooling-5.1.2原生版本即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM