[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-29 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-809834044


   The error log is right. If it reports the connection is refused, that means 
it fails to get any data from etcd at that moment.


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-29 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-809849343


   If it reports an error log in 18:26, it doesn't get data from another etcd 
node.
   @Firstsawyou 
   Does the error log happen forever or just for a moment?


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-29 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-809916240


   > 
   > 
   > > If it reports an error log in 18:26, it doesn't get data from another 
etcd node at that time.
   > > @Firstsawyou
   > > Does the error log happen forever or just for a moment?
   > 
   > The error log happen forever when a node in the etcd cluster(3 nodes) 
fails, at that time ,apisix can get data from other etcd node and work 
corretcly.
   
   Interesting.
   
   @Firstsawyou 
   Could you investigate this issue?


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-30 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-810161651


   > 
   > 
   > @spacewander @Firstsawyou
   > When I use ./apisix start to start the apisix, I found it will init etcd. 
I read the "etcd init" code and found it will check the status of all etcd 
nodes. So when when a node in the etcd cluster(3 nodes) fails, the etcd_init 
will fail too , and the apisix can't start.
   > I think when a node in the etcd cluster(3 nodes) fails, the etcd_init 
should success because it do no affect on the normal operation of APISIX, and 
the apisix should start normally.
   
   It does. Why do you want to configure a bad node inside APISIX? Start APISIX 
in an unhealthy situation is not a good idea. Consider one of your fail nodes 
has a wrong auth configuration which can't be detected if we just skip it.


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-30 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-810704950


   The `etcd init` doesn't just do the node check.
   
   As its name indicates, it **does the init job**. We need this operation to 
ensure the data in etcd is initialized correctly to avoid unexpected responses.
   
   If we skip this for some nodes, there is no way to ensure they are correctly 
initialized.
   
   As for "normally start and use apisix in a production environment in case of 
the
   extreme cases such as a node in the etcd cluster(3 nodes) fails", **this 
problem is mostly an etcd HA problem**.
   
   You can use 3 virtual hosts for etcd and ensure they are mapping into 
healthy nodes. If it is no enough, you can introduce retry when starting APISIX.


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] spacewander commented on issue #3937: [discuss]: when a node in the etcd cluster fails, no error log is output

2021-03-30 Thread GitBox


spacewander commented on issue #3937:
URL: https://github.com/apache/apisix/issues/3937#issuecomment-810708396


   > 
   > 
   > > If we skip this for some nodes, there is no way to ensure they are 
correctly initialized.
   > 
   > Why? ETCD is self-replicated.
   
   People might configure wrong node. Don't be surprise, it happened before.


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org