Sam,
More investigation reveals that due to the high number of connections in =
a
short period of time, even though they're being "closed" properly inside
Axis, you may have many connections in the TIME_WAIT state at the OS =
level,
and not even know it. If this is in fact the issue, tweaking a Windows
registry entry (TcpTimedWaitDelay, on your client machine) will get you =
past
it.
Although the following FAQ was written for an entirely different =
application,
the fourth entry down explains it well:
http://tjdo.sourceforge.net/docs/faq.html
On my own machine, I noticed I had to reboot in order to get the new =
value to
take effect. Try setting it to a value between 30 and 60 (decimal) and
please let us know whether it works.
Thanks,
Chris
-----Original Message-----
From: fedora-users-bounces@... on behalf of Chris Wilper
Sent: Sat 9/17/2005 10:24 AM
To: samliberman@...; Fedora-users mailing list
Subject: RE: [Fedora-users] Problem/Bug with API-M
=20
Hi Sam,
Hmm. This is something I haven't seen before -- when I get those =
messages
it's because I'm trying to start a server which is already running. =20
It looks as if your client is running out of sockets, but I assume =
you're
running these requests serially (not concurrently), right? One way to =
see if
the sockets are being fully released on the client end is to, quickly =
after
you get that exception, type netstat in a command prompt. I'm not sure =
if
that will be very accurate if the JVM exits, though... it may be running =
some
low-level cleanup in a shutdown hook. It's worth a shot to try, I =
think.
I'm confused as to why this would be happening, though, since at a low =
level,
Apache Axis (the thing that generated =
FedoraAPIMBindingSOAPHTTPStub.java) is
supposed to be taking care of that properly. The reason it may be =
succeeding
when you slow it down could be that the sockets are automatically closed
because they have a chance to timeout. Can you send your client code =
(or at
least the chunk where it loops through and makes the calls to export the
objects?)
- Chris
-----Original Message-----
From: fedora-users-bounces@... on behalf of Sam Liberman
Sent: Fri 9/16/2005 4:08 PM
To: Fedora-users mailing list
Subject: [Fedora-users] Problem/Bug with API-M
=20
When I'm trying to export a lot of fedora fxml records in short period
of time (for indexing) using Java API-M. I'm exporting about
2,000-3,000 a minute. After 1,700 to 3,500 records are exported I get
following exception (see below). I'm using fedora2.0(Windows) and I'm
exporting complete fxml records for indexing. Since I want to know
when object was modified last. Which data streams belong to it and to
extract DC. If I slow down this process it is working OK.
Am I doing something wrong, or is that a bug? I'm initializing only
one instance of API-M and then doing a lot of export requests.
Thank you.=20
Sam.
P.S. Fedora server is running on one server(windows), Job that is
trying to export fxml is running on another(Windows).
P.P.S. Let me know if you want more details.
P.P.P.S. Exception that I'm getting:
java.net.BindException: Address already in use: connect
AxisFault
faultCode: =
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.BindException: Address already in use: connect
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: java.net.BindException:
Address
already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at
org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:129)
at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
57)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at
fedora.server.management.FedoraAPIMBindingSOAPHTTPStub.export(FedoraA
PIMBindingSOAPHTTPStub.java:653)
at FedoraInterface.export(FedoraInterface.java:88)
at FedoraInterface.main(FedoraInterface.java:168)
java.net.BindException: Address already in use: connect
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:131)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at
fedora.server.management.FedoraAPIMBindingSOAPHTTPStub.export(FedoraA
PIMBindingSOAPHTTPStub.java:653)
at FedoraInterface.export(FedoraInterface.java:88)
at FedoraInterface.main(FedoraInterface.java:168)
Caused by: java.net.BindException: Address already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at
org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:129)
at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
57)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
... 12 more
--=20
Sam Liberman
SamLiberman@...
_______________________________________________
Fedora-users mailing list
Fedora-users@...
http://comm.nsdl.org/mailman/listinfo/fedora-users
|