Search the FirstSpirit Knowledge Base
Hallo zusammen,
Problembeschreibung: Die FirstSpirit 5.0 Umgebung ist an die Oracle-Datenbank angebunden ist. Die Kontakt Daten sind in einer FirstSpirit Tabelle "contact" gepflegt. Der Formular der Absatzvorlage enthält ein FS_DATASET Element, der auf die "Contact" Tabelle verweist.
Beim Aufruf der Inhaltseite in Browser kommt ein Exception (Stacktrace FS):
09.04.2013 10:30:52.260 ERROR ($CMS_VALUE(#global.page.body("content_center"))$ at 23, 6): de.espirit.or.QueryException: Error code: 17002, state: 08006
inside of: Template 'Inhaltsseite' (id=405)
inside of: $CMS_TRIM(level:3)$ - at 1, 1
inside of: $CMS_VALUE(#global.page.body("content_center"))$ - at 23, 6
Oracle Version: Oracle 11gR2 (11.2.0.1.0)
FS Version: 5.0.210.55494
Wie kann man das Problem lösen?
Hallo,
Oracle Fehlercode 17002 weist darauf hin, dass irgendwelche Netzwerkprobleme aufgetreten sind.
Bekommen sie irgendwelche Exceptions in den Logs?
Viele Grüße
Thorsten Marx
Hallo Herr Marx,
das Problem besteht trotz verschiedener Tests (Andere Oracle Treiber Version, Content Projektion ausgetauscht durch eine Verbindung über das fs_integration Modul, ...) bei uns weiterhin. Es scheint sich die Verbindung zur Datenbank nach ca. 30 Minuten schlafen zu legen und erst nach dem ersten (fehlerhaften) Verbindungsversuch wieder zu funktionieren. Die Exceptions in den FS Logs sehen folgendermaßen aus:
28.05.2013 08:31:59 ERROR 28.05.2013 08:31:59.056 {pID=97,uID=23} (de.espirit.firstspirit.logging.ServerLogging): Client error: ERROR 28.05.2013 09:28:54.468 (de.espirit.firstspirit.client.access.editor.FsListEditorValueImpl): Failed parsing data entry.
otest(otest otest (opus5)), session: 7878510408799648081, project: 45, ip: 192.168.32.183
FSVersion=5.0.210.55494#3238;JDK=1.7.0_17 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=28.05.2013 09:28:54
java.lang.RuntimeException: cannot shutdown, close on connection failed - error code: 17002, message: I/O-Fehler: Connection reset
at de.espirit.or.impl.connection.ConnectionInvocationHandler.shutdown(ConnectionInvocationHandler.java:106)
at de.espirit.or.impl.connection.ConnectionInvocationHandler.invoke(ConnectionInvocationHandler.java:48)
at $Proxy13.shutdown(Unknown Source)
at de.espirit.or.impl.connection.DBConnectionManager.getConnection(DBConnectionManager.java:309)
at de.espirit.or.impl.connection.DBConnectionManager.getConnection(DBConnectionManager.java:207)
at de.espirit.or.impl.connection.ConnectionManagerFactory$DelegatingConnectionManager.getConnection(ConnectionManagerFactory.java:184)
at de.espirit.or.impl.AbstractSessionHandler.executeQuery(AbstractSessionHandler.java:240)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.executeQuery(ContentManagerImpl.java:1173)
at de.espirit.firstspirit.content.ContentManagerImpl.executeQuery(ContentManagerImpl.java:545)
at sun.reflect.GeneratedMethodAccessor1183.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:92)
at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:68)
at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:582)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:419)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:37)
Caused by: java.sql.SQLRecoverableException: I/O-Fehler: Connection reset
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:556)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:3984)
at de.espirit.or.impl.connection.ConnectionInvocationHandler.shutdown(ConnectionInvocationHandler.java:101)
... 27 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at oracle.net.ns.DataPacket.send(DataPacket.java:210)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:230)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:312)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:61)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:543)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:3984)
at de.espirit.or.impl.connection.ConnectionInvocationHandler.shutdown(ConnectionInvocationHandler.java:101)
at de.espirit.or.impl.connection.ConnectionInvocationHandler.invoke(ConnectionInvocationHandler.java:48)
at $Proxy13.shutdown(Unknown Source)
at de.espirit.or.impl.connection.DBConnectionManager.getConnection(DBConnectionManager.java:309)
at de.espirit.or.impl.connection.DBConnectionManager.getConnection(DBConnectionManager.java:207)
at de.espirit.or.impl.connection.ConnectionManagerFactory$DelegatingConnectionManager.getConnection(ConnectionManagerFactory.java:184)
at de.espirit.or.impl.AbstractSessionHandler.executeQuery(AbstractSessionHandler.java:240)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.executeQuery(ContentManagerImpl.java:1173)
at de.espirit.firstspirit.content.ContentManagerImpl.executeQuery(ContentManagerImpl.java:545)
at sun.reflect.GeneratedMethodAccessor1183.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:92)
at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:68)
at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:582)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:419)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:368)
at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:55)
at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:52)
at de.espirit.firstspirit.server.$Proxy47.executeQuery(Unknown Source)
at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.executeQuery(SessionHandlerImpl.java:81)
at de.espirit.or.impl.AbstractSession.find(AbstractSession.java:198)
at de.espirit.or.impl.SessionImpl.find(SessionImpl.java:24)
at de.espirit.or.impl.AbstractSession.find(AbstractSession.java:181)
at de.espirit.or.impl.SessionImpl.find(SessionImpl.java:24)
at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.parseEntry(ContentDataFactory.java:649)
at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.load(ContentDataFactory.java:540)
at de.espirit.firstspirit.client.access.editor.FsListEditorValueImpl.parseEntries(FsListEditorValueImpl.java:280)
at de.espirit.firstspirit.client.access.editor.FsListEditorValueImpl.parseValue(FsListEditorValueImpl.java:243)
at de.espirit.firstspirit.client.access.editor.FsListEditorValueImpl.parseValue(FsListEditorValueImpl.java:60)
at de.espirit.firstspirit.client.access.editor.AbstractEditorValue.parseDataElement(AbstractEditorValue.java:415)
at de.espirit.firstspirit.client.access.editor.AbstractEditorValue.setValueNode(AbstractEditorValue.java:365)
at de.espirit.firstspirit.client.access.editor.AbstractEditorValue.initialize(AbstractEditorValue.java:123)
at de.espirit.firstspirit.module.GadgetSpecification$ValueMediatorFactoryImpl.createValue(GadgetSpecification.java:206)
at de.espirit.firstspirit.module.GadgetSpecification$ValueMediatorFactoryImpl.createValue(GadgetSpecification.java:186)
at de.espirit.firstspirit.client.access.editor.EditorValueFactory.create(EditorValueFactory.java:61)
at de.espirit.firstspirit.client.access.editor.EditorValueFactory.create(EditorValueFactory.java:46)
at de.espirit.firstspirit.store.access.DataImpl.create(DataImpl.java:187)
at de.espirit.firstspirit.store.access.DataImpl.create(DataImpl.java:168)
at de.espirit.firstspirit.store.access.DataBuilder.toData(DataBuilder.java:109)
at de.espirit.firstspirit.store.access.templatestore.FormDefaultsMaintainer.update(FormDefaultsMaintainer.java:171)
at de.espirit.firstspirit.store.access.templatestore.FormDefaultsMaintainer.onFormChange(FormDefaultsMaintainer.java:133)
at de.espirit.firstspirit.store.access.templatestore.FormDefinitionMaintainer.update(FormDefinitionMaintainer.java:229)
at de.espirit.firstspirit.store.access.templatestore.FormDefinitionMaintainer.getForm(FormDefinitionMaintainer.java:186)
at de.espirit.firstspirit.store.access.templatestore.FormDefinitionMaintainer.get(FormDefinitionMaintainer.java:163)
at de.espirit.firstspirit.store.access.templatestore.TemplateImpl.getFormDefinition(TemplateImpl.java:322)
at de.espirit.firstspirit.store.access.DataProviderHelper.parseData(DataProviderHelper.java:184)
at de.espirit.firstspirit.store.access.DataProviderHelper.getData(DataProviderHelper.java:150)
at de.espirit.firstspirit.store.access.pagestore.PageImpl.getData(PageImpl.java:177)
at de.espirit.firstspirit.client.gui.tree.store.pagestore.PSPageView.computeStates(PSPageView.java:124)
at de.espirit.firstspirit.client.gui.tree.store.pagestore.PSPageView.<init>(PSPageView.java:113)
at de.espirit.firstspirit.client.gui.tree.store.pagestore.GuiPage.createView(GuiPage.java:137)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.getAccessView(AbstractGuiStoreElement.java:1311)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.getView(AbstractGuiStoreElement.java:1118)
at de.espirit.firstspirit.client.gui.tabbing.ElementTabConfiguration$ElementView.doGetView(ElementTabConfiguration.java:290)
at de.espirit.firstspirit.client.gui.tabbing.ElementTabConfiguration$ElementView.getViewComponent(ElementTabConfiguration.java:281)
at de.espirit.firstspirit.client.gui.tabbing.TabContentView$ComponentFactory.getRealComponent(TabContentView.java:399)
at de.espirit.firstspirit.client.gui.tabbing.TabContentView$ComponentFactory.call(TabContentView.java:372)
at de.espirit.firstspirit.client.gui.tabbing.TabContentView$ComponentFactory.call(TabContentView.java:259)
at de.espirit.firstspirit.client.gui.util.GuiUtil$CallableWrapper.call(GuiUtil.java:1948)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
Mit freundlichen Grüßen
Stephan Eginger
Hallo,
ich vermute, dass durch den konfigurierten Timeout der Datenbank (nicht in FirstSpirit), die Verbindungen geschlossen werden. Bei der Verwendung in FirstSpirit, kommt es dann zu dieser Exception, da die Verbindung ungültig ist.
Schauen sie mal in der Administrator Dokumentation im Kapitel 4.8.4.2 Beschreibung der optionalen Parameter. Hier könnte ihnen CONNECTIONTIMEOUT weiterhelfen. Setzen sie den Wert mal etwas runter, am besten unterhalb des Timeouts der Datenbank.
Viele Grüße
Thorsten Marx
Hallo Herr Marx,
danke für den Hinweis!
Ich habe den Timeout auf 10 Minuten eingestellt und es scheint der Fehler nicht mehr aufzutreten.
Mit freundlichen Grüßen
Stephan Eginger