Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v5.2
  HXTT Cobol v2.1
  HXTT DBF v5.2
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT Excel v4.2
  HXTT Paradox v5.2
  HXTT Text(CSV) v5.2
  HXTT XML v1.2
Offshore Outsourcing
Oracle Data Import/Export
DB2 Data Import/Export
Sybase Data Import/Export
Free Resources
  Firewall Tunneling
  Search Indexing Robot
  Conditional Compilation
  Password Recovery for MS Access
  Password Recovery for Corel Paradox
  Checksum Tool for MD5
  Character Set Converter
  Pyramid - Poker of ZYH
   
   
   
Hongxin Technology & Trade Ltd. of Xiangtan City (abbr, HXTT)

HXTT DBF
DBFServer CPU Spike
Joseph Gooch
2006-09-19 11:06:51.0
I have DBF_JDBC30 running on a couple netware servers as DBFServers. I access them via port 3099. Every day or so, one of the 7 different servers will spike to 100% CPU utilization until it is killed. I haven't been able to find the cause of the high CPU utilization.

The console shows a full screen of the following error:
java.net.SocketException: SocketClosed

As far as I can tell, there aren't any queries against the datasource going on at that time. The program I'm using to connect to the DBFServer has a connection pool, but none of the connections are in active use when the problem manifests itself.

Is there a way to 1) limit the amount of CPU available to the DBF server, or 2) better diagnose this issue so we can find the cause?

Thanks.
Re:DBFServer CPU Spike
HXTT Support
2006-09-19 18:38:35.0
>Every day or so, one of the 7 different servers will spike to 100% CPU
> utilization until it is killed. I haven't been able to find the cause of
> the high CPU utilization.
You have run those servers more than half one year. What's the about start time of that issue? In the older package or the latest package?

>The console shows a full screen of the following error:
>java.net.SocketException: SocketClosed
v3.0.014 provides maxIdleTime connection property. maxIdleTime indicates the max idle time in minute for remote connection. That option is mainly used to avoid closing automatically idle remote connection for connection pool. Embedded idle connectoin won't be closed automatically except for garbage collection. You can use 1~1440 minutes. Default: 15. If you're using the package download on Sept. 9th, your version is just v3.0.014.

>The program I'm using to connect to the DBFServer has a connection pool,
> but none of the connections are in active use when the problem manifests
> itself.
Your connection pool will contains some closed idle connection, since v3.0.014 starts to close those idle connection according to maxIdleTime connection property.

If your issue started only with the latest package, I guess that should be resulted by connection pool with closed idle connection. After know more information, we will simulate your environment and recur your issue. Thanks for your patience.

Re:DBFServer CPU Spike
Joseph Gooch
2006-09-19 19:15:12.0
We actually just deployed this solution into production recently. (4-5wks)

The problem existed with v2.3.038. I upgraded to v3.0.014 in the hopes that it would remedy the situation, however, it didn't. (though it didn't get any worse)

Would the logic be that I should make the idle connections terminate faster, or could the spike be caused by the server trying to use a dead idle connection?
Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-19 19:28:43.0
>Would the logic be that I should make the idle connections terminate faster,
> or could the spike be caused by the server trying to use a dead idle
> connection?
No. Are you using DBFServer with GUI, or used it as server?

>The console shows a full screen of the following error:
>java.net.SocketException: SocketClosed
Those messages were seen in the console or server side?
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-19 19:58:21.0
HxttService, with java.awt.headless=true. There is a remote administration password configured.

The messages are seen on the console at the server side.
Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-19 23:05:06.0
>The console shows a full screen of the following error:
>java.net.SocketException: SocketClosed
The latest package will show more message for that exception. Please download it.

>Every day or so, one of the 7 different servers will spike to 100% CPU >utilization until it is killed. I haven't been able to find the cause of the >high CPU utilization.
I have suspected that serverSocket has been closed for unknown reason, but that closed status can't be detected by Java. One sleep span of 1 second is added to avoid the CPU Spike. If that modification can work, we will dig out that unkown reason for serverSocket close.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-21 05:31:09.0
With v3.0.021:

Channel Daemon: java.net.SocketException: Socket Closed
The server CPU was at 100% this morning.

The connection to this particular server is via a wireless link, which was up and down many times throughout last night.
Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-21 23:44:55.0
>>I have suspected that serverSocket has been closed for unknown reason, but
>> that closed status can't be detected by Java. One sleep span of 1 second is
>> added to avoid the CPU Spike. If that modification can work, we will dig out
>> that unkown reason for serverSocket close.
>Channel Daemon: java.net.SocketException: Socket Closed
>The server CPU was at 100% this morning.
>The connection to this particular server is via a wireless link, which was up
> and down many times throughout last night.
Yeah. We have found that issue now. What's your JDK version? What's your jdbc url?
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-22 06:03:18.0
JAVA.NLM (based on 1.4.2_09) build 05120118 VERSION 1.42.06 December 1,2005

I believe this is the most recent one that Novell packages for Netware. We are using DBF_JDBC30 with this version of the JRE.

The client program runs on 1.5.0_08 with a matched version of DBF_JDBC30.

The URL is:
jdbc:dbf://(serverip):3099/vol1:/SasiXp/DATAFILE/?user=(ouruser)&password=(ourpw)

There's another message on the console that keeps appearing, here's the stack trace (as I can type it):
java.lang.NullPointerException
at com.hxtt.sql.db.a
at com.hxtt.sql.cu.a
at com.hxtt.sql.cu.next
at com.hxtt.sql.CallInterface.a
at com.hxtt.sql.CallInterface.response
at com.hxtt.sql.server.c.a
at com.hxtt.sql.server.c.for
at com.hxtt.sql.server.m.run
at com.hxtt.global.b.run
java.lang.NullPointerException
at com.hxtt.sql.cu.byte(Unknown Source)
at com.hxtt.sql.CallInterface.a(Unknown Source)
at com.hxtt.sql.CallInterface.response
at com.hxtt.sql.server.c.a
at com.hxtt.sql.server.c.for
at com.hxtt.sql.server.m.run
at com.hxtt.global.b.run

And there's one at the top of the console that is cut-off, so i can't see the whole thing, but the partial is:
at com.hxtt.sql.dbf.u.close
at com.hxtt.sql.CallInterface.response
at com.hxtt.sql.server.c.a
at com.hxtt.sql.server.c.for
at com.hxtt.sql.server.m.run
at com.hxtt.global.b.run


Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-22 08:57:25.0
Checked all NullPointerException
java.lang.NullPointerException
at com.hxtt.sql.db.a
java.lang.NullPointerException
at com.hxtt.sql.db.a

which were resulted by java.sql.Connection has been unexpectly closed. The next version will show more friendly message.
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-24 00:26:33.0
Please download the latest package, and try it. We failed to recur your issue, with disabling network card, but we have tried to complemented some code to avoid that issue.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-26 05:17:00.0
v3.0.024 hit 100% this morning.

Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed
Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
Socket closed

java: Class com.hxtt.sql.admin.HxttService killed successfully

Load service setting from sys:/java/dbf/urlconfig.properties

HXTT Service started.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-26 07:04:23.0
Here's an excerpt from the datasource log file:

2006-09-26 07:17:1423112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) close logical table nullAEMG6009(null)-CLOSED
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT RECNO() as "ROWID", "STATUS", "SCHOOLNUM", "STULINK", "CONTACT1", "RELATION", "ADDRESS", "CITY", "STATE", "ZIPCODE", "TELEPHONE", "TELEXTN", "CONTACT2", "RELATION2", "ADDRESS2", "CITY2", "STATE2", "ZIPCODE2", "TELEPHONE2", "TELEXTN2", "CONTACT3", "RELATION3", "ADDRESS3", "CITY3", "STATE3", "ZIPCODE3", "TELEPHONE3", "TELEXTN3", "CONTACT4", "RELATION4", "ADDRESS4", "CITY4", "STATE4", "ZIPCODE4", "TELEPHONE4", "TELEXTN4", "PHYSICIAN", "PHYSTELNUM", "PHYSTELEXT", "PHYSADDR", "PHYSCITY", "PHYSSTATE", "PHYSZIP", "PHYSTREAT", "MEDALERT", "MEDALERT2", "MEDALERT3", "MEDALERT4" FROM "AEMG6009"
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) open logical table nullAEMG6009(null)-SHARED READ
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) complete execute
SELECT RECNO() as "ROWID", "STATUS", "SCHOOLNUM", "STULINK", "CONTACT1", "RELATION", "ADDRESS", "CITY", "STATE", "ZIPCODE", "TELEPHONE", "TELEXTN", "CONTACT2", "RELATION2", "ADDRESS2", "CITY2", "STATE2", "ZIPCODE2", "TELEPHONE2", "TELEXTN2", "CONTACT3", "RELATION3", "ADDRESS3", "CITY3", "STATE3", "ZIPCODE3", "TELEPHONE3", "TELEXTN3", "CONTACT4", "RELATION4", "ADDRESS4", "CITY4", "STATE4", "ZIPCODE4", "TELEPHONE4", "TELEXTN4", "PHYSICIAN", "PHYSTELNUM", "PHYSTELEXT", "PHYSADDR", "PHYSCITY", "PHYSSTATE", "PHYSZIP", "PHYSTREAT", "MEDALERT", "MEDALERT2", "MEDALERT3", "MEDALERT4" FROM "AEMG6009"
2006-09-26 07:17:1823112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) close logical table nullAEMG6009(null)-CLOSED
2006-09-26 07:17:2823112981 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) closed
2006-09-26 07:17:355256358 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) connected
2006-09-26 07:17:355256358 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT COUNT(*) as R2006-09-26 07:19:39 Server //10.47.112.2:3099/DBFTCPServer/VOL1:/SASIXP/DATAFILE( jdbc:dbf://10.47.112.2:3099/vol1:/SasiXp/DATAFILE/?user=user;password=password) started
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) connected
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT COUNT(*) as RECORDS, MIN(RECNO()) as MINROW, MAX(RECNO()) as MAXROW FROM "ASTU4005"
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) open logical table nullASTU4005(null)-SHARED READ
2006-09-26 07:19:5518820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) complete execute


Notice the start executing query got cut off between 7:17 and 7:19, logging apparently was frozen.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-26 10:01:15.0
Here's an excerpt from the datasource log file:

2006-09-26 07:17:1423112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) close logical table nullAEMG6009(null)-CLOSED
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT RECNO() as "ROWID", "STATUS", "SCHOOLNUM", "STULINK", "CONTACT1", "RELATION", "ADDRESS", "CITY", "STATE", "ZIPCODE", "TELEPHONE", "TELEXTN", "CONTACT2", "RELATION2", "ADDRESS2", "CITY2", "STATE2", "ZIPCODE2", "TELEPHONE2", "TELEXTN2", "CONTACT3", "RELATION3", "ADDRESS3", "CITY3", "STATE3", "ZIPCODE3", "TELEPHONE3", "TELEXTN3", "CONTACT4", "RELATION4", "ADDRESS4", "CITY4", "STATE4", "ZIPCODE4", "TELEPHONE4", "TELEXTN4", "PHYSICIAN", "PHYSTELNUM", "PHYSTELEXT", "PHYSADDR", "PHYSCITY", "PHYSSTATE", "PHYSZIP", "PHYSTREAT", "MEDALERT", "MEDALERT2", "MEDALERT3", "MEDALERT4" FROM "AEMG6009"
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) open logical table nullAEMG6009(null)-SHARED READ
2006-09-26 07:17:1623112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) complete execute
SELECT RECNO() as "ROWID", "STATUS", "SCHOOLNUM", "STULINK", "CONTACT1", "RELATION", "ADDRESS", "CITY", "STATE", "ZIPCODE", "TELEPHONE", "TELEXTN", "CONTACT2", "RELATION2", "ADDRESS2", "CITY2", "STATE2", "ZIPCODE2", "TELEPHONE2", "TELEXTN2", "CONTACT3", "RELATION3", "ADDRESS3", "CITY3", "STATE3", "ZIPCODE3", "TELEPHONE3", "TELEXTN3", "CONTACT4", "RELATION4", "ADDRESS4", "CITY4", "STATE4", "ZIPCODE4", "TELEPHONE4", "TELEXTN4", "PHYSICIAN", "PHYSTELNUM", "PHYSTELEXT", "PHYSADDR", "PHYSCITY", "PHYSSTATE", "PHYSZIP", "PHYSTREAT", "MEDALERT", "MEDALERT2", "MEDALERT3", "MEDALERT4" FROM "AEMG6009"
2006-09-26 07:17:1823112981 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) close logical table nullAEMG6009(null)-CLOSED
2006-09-26 07:17:2823112981 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) closed
2006-09-26 07:17:355256358 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) connected
2006-09-26 07:17:355256358 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT COUNT(*) as R2006-09-26 07:19:39 Server //10.47.112.2:3099/DBFTCPServer/VOL1:/SASIXP/DATAFILE( jdbc:dbf://10.47.112.2:3099/vol1:/SasiXp/DATAFILE/?user=user;password=password) started
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (use url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password ) connected
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) start executing
SELECT COUNT(*) as RECORDS, MIN(RECNO()) as MINROW, MAX(RECNO()) as MAXROW FROM "ASTU4005"
2006-09-26 07:19:5418820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) open logical table nullASTU4005(null)-SHARED READ
2006-09-26 07:19:5518820833 -- Host:10.47.112.2:3099 (url : jdbc:dbf://10.47.112.2:3099/vol1:/sasixp/DATAFILE/?user=user;password=password) complete execute


Notice the start executing query got cut off between 7:17 and 7:19, logging apparently was frozen.
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-26 10:18:18.0
>Tue Sep 26 07:19:00 EDT 2006 ChannelDaemon: java.net.SocketException:
>Socket closed
>Notice the start executing query got cut off between 7:17 and 7:19, logging apparently was frozen.
We found that issue, but failed to recur that issue. For unknown reason, that invalid SeverSocket returns always invalid new connection without blocking so that your CPU become 100%. Now we have complemented an error counter. If it found 10 continuous invalid new connecitons, DBFServer will close that ServerSocket, and create a new ServerSocket to accept new connection. We wish such a restart ServerSocket design can solve your issue. Anyway, it will print message for restart ServerSocket. Please download the latest JDBC30 package.

Re:DBFServer CPU Spike
Joseph Gooch
2006-09-27 10:20:37.0
Now it runs at 100% CPU without any messages being logged to the console.
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-27 20:19:31.0
What's the message in the datasource log file?
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-28 00:07:35.0
Please upload your datasource log file.

ftp site: ftp.hxtt.com
ftp user: anonymous@hxtt.com
ftp password: (empty)
login mode: normal (not anonymous)
ftp port:21
upload directory: incoming
After upload, you can't see that upload file, but it has been upload.

then notify us through webmaster@hxtt.com .
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-28 02:34:51.0
>Now it runs at 100% CPU without any messages being logged to the console.
Good news. According to our detailed analysis, it should be not an issue of HXTT DBF. That should be an issue of your JVM on Novellware and JavaService.exe:) JavaService.exe can result 100% CPU sometimes:) Please visit http://www.hxtt.com/test and download the latest JavaService.exe . If your issu disappeared or happened, please let us know. Thanks for your patience.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-28 04:42:13.0
These are netware servers. They cannot run jsvc or JavaService.nlm. The service is manually started with java. Nor does this OS have a hotspot (dll) version of the jre.

I have uploaded a zip and emailed as you requested.
Re:Re:Re:Re:Re:Re:Re:Re:DBFServer CPU Spike
HXTT Support
2006-09-28 22:51:50.0
In the latest package, tidied the log format, and added Thread.sleep() code for Socket.read too since maybe your issue was resulted by unexpected socket/serversocket state of wireless link. Please try it. Your situation is unique. Thanks for your patience.

BTW, -Djava.awt.headless=true can be removed since com.hxtt.sql.admin.HxttService hasn't any GUI.
Re:DBFServer CPU Spike
Joseph Gooch
2006-09-29 05:08:55.0
Without java.awt.headless, it loads X windows even though no GUI starts up.

I've downloaded v3.0.028 and will be installing it today. I've made some changes in our application as well, so I'll see if I can reproduce it now.

Thanks!

Search Key   Search by Last 50 Questions




Google
 

Address: 9 Station Rd., Xiangtan City, Hunan Province, P.R. China
Postcode: 411100
Phone: (86)731-58225727
Fax: (86)731-58225727
Email: webmaster@hxtt.com
Copyright © 1999-2011 Hongxin Technology & Trade Ltd. | All Rights Reserved. | Privacy | Legal | Sitemap