[
https://issues.apache.org/jira/browse/PLC4X-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267201#comment-17267201
]
Christofer Dutz commented on PLC4X-272:
---------------------------------------
Ok ... I've found the issue (I hope this was all) ... it was as I expected,
when splitting up into multiple requests, it should have been 39, 39, 22
requests ... but was 39, 40, 21. The second request was hereby exceeding the
max allowed PDU size ... this should now be fixed. Please give our CI a few
minutes to complete the build: [PLC4X » PLC4X » develop #196 Console [Jenkins]
(apache.org)|https://ci-builds.apache.org/job/PLC4X/job/PLC4X/job/develop/196/console]
... as soon as that passes, please pull the latest SNAPSHOT using the "-U"
parameter to your maven build.
> When splitting up large requests, too big sub-requests are generated (S7)
> -------------------------------------------------------------------------
>
> Key: PLC4X-272
> URL: https://issues.apache.org/jira/browse/PLC4X-272
> Project: Apache PLC4X
> Issue Type: Bug
> Components: Driver-S7
> Affects Versions: 0.6.0, 0.7.0, 0.8.0
> Environment: win10-64/jdk11and8/
> Reporter: liuqiang
> Priority: Major
> Attachments: 0.8.0-SNAPSHOT-100-Items-fail.pcapng,
> 0.8.0-SNAPSHOT-23Items-success.pcapng, fail-information.txt,
> plc4j-0.7.0-more-than-78-REAL-item-running-information.txt,
> plc4j-0.7.0-more-than-78-REAL-item.pcapng,
> plc4j-0.8.0-SNAPSHOT-more-than-78-REAL-item-running-information.txt,
> plc4j-0.8.0-SNAPSHOT-more-than-78-REAL-item.pcapng
>
>
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Instantiating new PLC
> Driver Manager with class loader
> jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83[main] INFO
> org.apache.plc4x.java.PlcDriverManager - Instantiating new PLC Driver Manager
> with class loader
> jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83[main] INFO
> org.apache.plc4x.java.PlcDriverManager - Registering available
> drivers...[main] INFO org.apache.plc4x.java.PlcDriverManager - Registering
> driver for Protocol opcua (OPC UA (TCP))[main] INFO
> org.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol s7
> (Siemens S7 (Basic))[main] INFO cn.cisdi.plc.Application - Starting Thead
> Pool...[main] INFO cn.cisdi.plc.Application - Registering
> Config:JobConfiguration\{alias='siemens', kafkaTopic='plc4x',
> mqttTopic='plc4x',
> connectionString='s7://10.65.7.220?remote-rack=0&remote-slot=3&pdu-size=1024&controller-type=S7_400',
> needFetch='true', scrapeRateMs=5000, fieldAdresses={data_1=%DB1.DBD0.0:REAL,
> data_2=%DB1.DBD4.0:REAL, data_3=%DB1.DBD8.0:REAL, data_4=%DB1.DBD12.0:REAL,
> data_5=%DB1.DBD16.0:REAL, data_6=%DB1.DBD20.0:REAL, data_7=%DB1.DBD24.0:REAL,
> data_8=%DB1.DBD28.0:REAL, data_9=%DB1.DBD32.0:REAL,
> data_10=%DB1.DBD36.0:REAL, data_11=%DB1.DBD40.0:REAL,
> data_12=%DB1.DBD44.0:REAL, data_13=%DB1.DBD48.0:REAL,
> data_14=%DB1.DBD52.0:REAL, data_15=%DB1.DBD56.0:REAL,
> data_16=%DB1.DBD60.0:REAL, data_17=%DB1.DBD64.0:REAL,
> data_18=%DB1.DBD68.0:REAL, data_19=%DB1.DBD72.0:REAL,
> data_20=%DB1.DBD76.0:REAL, data_21=%DB1.DBD80.0:REAL,
> data_22=%DB1.DBD84.0:REAL, data_23=%DB1.DBD88.0:REAL,
> data_24=%DB1.DBD92.0:REAL, data_25=%DB1.DBD96.0:REAL,
> data_26=%DB1.DBD100.0:REAL, data_27=%DB1.DBD104.0:REAL,
> data_28=%DB1.DBD108.0:REAL, data_29=%DB1.DBD112.0:REAL,
> data_30=%DB1.DBD116.0:REAL, data_31=%DB1.DBD120.0:REAL,
> data_32=%DB1.DBD124.0:REAL, data_33=%DB1.DBD128.0:REAL,
> data_34=%DB1.DBD132.0:REAL, data_35=%DB1.DBD136.0:REAL,
> data_36=%DB1.DBD140.0:REAL, data_37=%DB1.DBD144.0:REAL,
> data_38=%DB1.DBD148.0:REAL, data_39=%DB1.DBD152.0:REAL,
> data_40=%DB1.DBD156.0:REAL, data_41=%DB1.DBD160.0:REAL,
> data_42=%DB1.DBD164.0:REAL, data_43=%DB1.DBD168.0:REAL,
> data_44=%DB1.DBD172.0:REAL, data_45=%DB1.DBD176.0:REAL,
> data_46=%DB1.DBD180.0:REAL, data_47=%DB1.DBD184.0:REAL,
> data_48=%DB1.DBD188.0:REAL, data_49=%DB1.DBD192.0:REAL,
> data_50=%DB1.DBD196.0:REAL, data_51=%DB1.DBD200.0:REAL,
> data_52=%DB1.DBD204.0:REAL, data_53=%DB1.DBD208.0:REAL,
> data_54=%DB1.DBD212.0:REAL, data_55=%DB1.DBD216.0:REAL,
> data_56=%DB1.DBD220.0:REAL, data_57=%DB1.DBD224.0:REAL,
> data_58=%DB1.DBD228.0:REAL, data_59=%DB1.DBD232.0:REAL,
> data_60=%DB1.DBD236.0:REAL, data_61=%DB1.DBD240.0:REAL,
> data_62=%DB1.DBD244.0:REAL, data_63=%DB1.DBD248.0:REAL,
> data_64=%DB1.DBD252.0:REAL, data_65=%DB1.DBD256.0:REAL,
> data_66=%DB1.DBD260.0:REAL, data_67=%DB1.DBD264.0:REAL,
> data_68=%DB1.DBD268.0:REAL, data_69=%DB1.DBD272.0:REAL,
> data_70=%DB1.DBD276.0:REAL, data_71=%DB1.DBD280.0:REAL,
> data_72=%DB1.DBD284.0:REAL, data_73=%DB1.DBD288.0:REAL,
> data_74=%DB1.DBD292.0:REAL, data_75=%DB1.DBD296.0:REAL,
> data_76=%DB1.DBD300.0:REAL, data_77=%DB1.DBD304.0:REAL,
> data_78=%DB1.DBD308.0:REAL, data_244=%DB1.DBD972.0:REAL,
> data_245=%DB1.DBD976.0:REAL, data_246=%DB1.DBD980.0:REAL,
> data_247=%DB1.DBD984.0:REAL, data_248=%DB1.DBD988.0:REAL,
> data_249=%DB1.DBD992.0:REAL, data_250=%DB1.DBD996.0:REAL,
> data_251=%DB1.DBD1000.0:REAL, data_252=%DB1.DBD1004.0:REAL,
> data_253=%DB1.DBD1008.0:REAL, data_254=%DB1.DBD1012.0:REAL,
> data_255=%DB1.DBD1016.0:REAL, data_256=%DB1.DBD1020.0:REAL,
> data_257=%DB1.DBD1024.0:REAL, data_258=%DB1.DBD1028.0:REAL,
> data_259=%DB1.DBD1032.0:REAL, data_260=%DB1.DBD1036.0:REAL,
> data_261=%DB1.DBD1040.0:REAL, data_262=%DB1.DBD1044.0:REAL,
> data_263=%DB1.DBD1048.0:REAL}}[scrape-thread-1] INFO
> cn.cisdi.plc.job.JobExecutionPLC - Fetching data for job
> siemens[scrape-thread-1] INFO
> org.apache.plc4x.java.transport.tcp.TcpChannelFactory - Configuring Bootstrap
> with Configuration\{local-rack=1, local-slot=1, remote-rack=0, remot-slot=3,
> pduSize=1024, maxAmqCaller=8, maxAmqCallee=8,
> controllerType='S7_400'}[nioEventLoopGroup-2-1] INFO
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic - S7 Driver
> running in ACTIVE mode.[nioEventLoopGroup-2-1] WARN
> io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was
> fired, and it reached at the tail of the pipeline. It usually means the last
> handler in the pipeline did not handle the exception.java.io.IOException:
> 远程主机强迫关闭了一个现有的连接。 at java.base/sun.nio.ch.SocketDispatcher.read0(Native
> Method) at
> java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) at
> java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) at
> java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233) at
> java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223) at
> java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) at
> io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) at
> io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1134) at
> io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:834)[scrape-thread-1] WARN
> cn.cisdi.plc.job.JobExecutionPLC - Unable to scrape from
> s7://10.65.7.220?remote-rack=0&remote-slot=3&pdu-size=1024&controller-type=S7_400
> in job siemensorg.apache.plc4x.java.api.exceptions.PlcConnectionException:
> org.apache.plc4x.java.api.exceptions.PlcConnectionException:
> java.util.concurrent.ExecutionException:
> org.apache.plc4x.java.api.exceptions.PlcIoException: Connection terminated by
> remote at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager.getConnection(PooledPlcDriverManager.java:121)
> at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager.getConnection(PooledPlcDriverManager.java:100)
> at cn.cisdi.plc.job.JobExecutionPLC.run(JobExecutionPLC.java:42) at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at
> java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)Caused by:
> org.apache.plc4x.java.api.exceptions.PlcConnectionException:
> java.util.concurrent.ExecutionException:
> org.apache.plc4x.java.api.exceptions.PlcIoException: Connection terminated by
> remote at
> org.apache.plc4x.java.spi.connection.DefaultNettyPlcConnection.connect(DefaultNettyPlcConnection.java:110)
> at
> org.apache.plc4x.java.PlcDriverManager.getConnection(PlcDriverManager.java:74)
> at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager.access$201(PooledPlcDriverManager.java:37)
> at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager$1.create(PooledPlcDriverManager.java:89)
> at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager$1.create(PooledPlcDriverManager.java:82)
> at
> org.apache.commons.pool2.BaseKeyedPooledObjectFactory.makeObject(BaseKeyedPooledObjectFactory.java:62)
> at
> org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1073)
> at
> org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:348)
> at
> org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:271)
> at
> org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager.getConnection(PooledPlcDriverManager.java:115)
> ... 8 moreCaused by: java.util.concurrent.ExecutionException:
> org.apache.plc4x.java.api.exceptions.PlcIoException: Connection terminated by
> remote at
> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> at
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
> at
> org.apache.plc4x.java.spi.connection.DefaultNettyPlcConnection.connect(DefaultNettyPlcConnection.java:101)
> ... 17 moreCaused by: org.apache.plc4x.java.api.exceptions.PlcIoException:
> Connection terminated by remote at
> org.apache.plc4x.java.spi.connection.DefaultNettyPlcConnection.lambda$connect$0(DefaultNettyPlcConnection.java:92)
> at
> io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
> at
> io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
> at
> io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
> at
> io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615) at
> io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:604)
> at
> io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
> at
> io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
> at
> io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1158)
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:760)
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:736)
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:607)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.closeOnRead(AbstractNioByteChannel.java:105)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:127)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:174)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> ... 1 more
> Process finished with exit code -1
--
This message was sent by Atlassian Jira
(v8.3.4#803005)