ig3 commented on issue #3976:
URL: https://github.com/apache/couchdb/issues/3976#issuecomment-1093065906

   No, my server does not completely die. I am able to continue sending 
requests. I don't notice any unaccepted requests but there is no load on the 
server, just my testing.
   
   I am running a single node.
   
   There are four processes running:
   
   ```
   couchdb   108694       1  3 Mar29 ?        09:07:04 
/home/couchdb/couchdb/bin/../erts-11.1.8/bin/beam.smp -K true -A 16 -Bd -- 
-root /home/couchdb/couchdb/bin/.. -progname couchdb -- -home /home/couchdb -- 
-boot /home/couchdb/couchdb/bin/../releases/3.2.0/couchdb -name 
[email protected] -setcookie monster -kernel error_logger silent -sasl 
sasl_error_logger false -noshell -noinput -smp enable -ssl session_lifetime 300 
-- -config /home/couchdb/couchdb/bin/../releases/3.2.0/sys.config --
   couchdb   108724  108694  0 Mar29 ?        00:00:00 erl_child_setup 65536
   couchdb   121212  108724  0 Mar29 ?        00:00:00 inet_gethost 4
   couchdb   121213  121212  0 Mar29 ?        00:00:00 inet_gethost 4
   couchdb   128655  108724  0 Mar30 ?        00:00:00 ./bin/couchjs 
./share/server/main.js
   ```
   After the 'CRASH', there is no change to the set of processes. Whatever is 
crashing, it is internal to CouchDB and not manifest at the operating system 
level as a process terminating and a new process being started.
   
   My clients do not see a reply. For example, the tests with curl produce:
   
   ```
   *   Trying ::1:5984...
   * connect to ::1 port 5984 failed: Connection refused
   *   Trying 127.0.0.1:5984...
   * Connected to localhost (127.0.0.1) port 5984 (#0)
   > GET /test HTTP/1.1
   > Host: localhost:5984
   > User-Agent: curl/7.74.0
   > Accept: application/json
   > Content-Type: application/json; charset=utf-8
   > Authorization: Bearer 
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImZvbyJ9.eyJraWQiOiJmb28iLCJzdWIiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGVzIjpbInRlc3QxIiwidGVzdDIiXX0=.xftH2byj7LV9/YqqacmyZfcxQt+/h0etsgtRj6aL4AE=
   > 
   * Empty reply from server
   * Connection #0 to host localhost left intact
   curl: (52) Empty reply from server
   ```
   At the network layer I see:
   
   ```
   No.     Time           Source                Destination           Protocol 
Length Info
         1 0.000000000    ::1                   ::1                   TCP      
94     39212 → 5984 [SYN] Seq=0 Win=65476 Len=0 MSS=65476 SACK_PERM=1 
TSval=3974581731 TSecr=0 WS=128
         2 0.000004993    ::1                   ::1                   TCP      
74     5984 → 39212 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
         3 0.000057414    127.0.0.1             127.0.0.1             TCP      
74     58268 → 5984 [SYN] Seq=0 Win=65495 Len=0 MSS=65495 SACK_PERM=1 
TSval=3683328382 TSecr=0 WS=128
         4 0.000063329    127.0.0.1             127.0.0.1             TCP      
74     5984 → 58268 [SYN, ACK] Seq=0 Ack=1 Win=65483 Len=0 MSS=65495 
SACK_PERM=1 TSval=3683328382 TSecr=3683328382 WS=128
         5 0.000068053    127.0.0.1             127.0.0.1             TCP      
66     58268 → 5984 [ACK] Seq=1 Ack=1 Win=65536 Len=0 TSval=3683328382 
TSecr=3683328382
         6 0.000123111    127.0.0.1             127.0.0.1             HTTP     
422    GET /test HTTP/1.1
         7 0.000141033    127.0.0.1             127.0.0.1             TCP      
66     5984 → 58268 [ACK] Seq=1 Ack=357 Win=65152 Len=0 TSval=3683328382 
TSecr=3683328382
         8 0.000641134    127.0.0.1             127.0.0.1             TCP      
66     5984 → 58268 [FIN, ACK] Seq=1 Ack=357 Win=65536 Len=0 TSval=3683328383 
TSecr=3683328382
         9 0.000779854    127.0.0.1             127.0.0.1             TCP      
66     58268 → 5984 [FIN, ACK] Seq=357 Ack=2 Win=65536 Len=0 TSval=3683328383 
TSecr=3683328383
        10 0.000785487    127.0.0.1             127.0.0.1             TCP      
66     5984 → 58268 [ACK] Seq=2 Ack=358 Win=65536 Len=0 TSval=3683328383 
TSecr=3683328383
   ```
   So the TCP connection is promptly reset by the server, without sending any 
response.
   
   But I am able to send another request immediately after:
   
   ```
   $ bash testLocal.sh; bash testLocal.sh
   *   Trying ::1:5984...
   * connect to ::1 port 5984 failed: Connection refused
   *   Trying 127.0.0.1:5984...
   * Connected to localhost (127.0.0.1) port 5984 (#0)
   > GET /test HTTP/1.1
   > Host: localhost:5984
   > User-Agent: curl/7.74.0
   > Accept: application/json
   > Content-Type: application/json; charset=utf-8
   > Authorization: Bearer 
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImZvbyJ9.eyJraWQiOiJmb28iLCJzdWIiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGVzIjpbInRlc3QxIiwidGVzdDIiXX0=.xftH2byj7LV9/YqqacmyZfcxQt+/h0etsgtRj6aL4AE=
   > 
   * Empty reply from server
   * Connection #0 to host localhost left intact
   curl: (52) Empty reply from server
   *   Trying ::1:5984...
   * connect to ::1 port 5984 failed: Connection refused
   *   Trying 127.0.0.1:5984...
   * Connected to localhost (127.0.0.1) port 5984 (#0)
   > GET /test HTTP/1.1
   > Host: localhost:5984
   > User-Agent: curl/7.74.0
   > Accept: application/json
   > Content-Type: application/json; charset=utf-8
   > Authorization: Bearer 
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImZvbyJ9.eyJraWQiOiJmb28iLCJzdWIiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGVzIjpbInRlc3QxIiwidGVzdDIiXX0=.xftH2byj7LV9/YqqacmyZfcxQt+/h0etsgtRj6aL4AE=
   > 
   * Empty reply from server
   * Connection #0 to host localhost left intact
   curl: (52) Empty reply from server
   ```
   
   That second request is not really immediately after, but as fast as my 
system can run a bash shell and instance of curl. The script has nothing in it 
but the curl command.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to