outlierDetection is not working

hi, i add a DestinationRule for my service as below, and found that

  1. maxConnections for tcp is not working, i tried to update it to 2, and start at least 3 clients to access my service, it still responses ok which is not expected. the istio document to explain this element is “Maximum number of HTTP1 /TCP connections to a destination host.”, i am confused is this element only control tcp connections for HTTP1 ( i am using HTTP2.0) , otherwise why it’s not working in my case
  2. outlierDetection is not working either, i set consecutiveErrors to 5, but my service is still response ( my service alway response with 504 in this case, i hard code service code for this test) even i sent a lot of request, i have 2 pods for this service, i expect that when one pod receive 5 requests and response 5 times of 504, this pod will be ejected, but when i print logs of these 3 pods, they are both working well
  3. http2MaxRequests works well, i can see it controls the http2 incoming requests

istio version is 1.2.0-29

===============================================
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: eric-nssf-slice-selection-control-destinationrule
namespace: nssf
spec:
host: eric-nssf-slice-selection-control
trafficPolicy:
connectionPool:
tcp:
maxConnections: 10
connectTimeout: 30ms
http:
http2MaxRequests: 100
maxRequestsPerConnection: 10
outlierDetection:
consecutiveErrors: 5
interval: 1m
baseEjectionTime: 10m
maxEjectionPercent: 100