fabric8io / kubeflix

Kubernetes integration with Netflix OSS
266 stars 69 forks source link

hello-ribbon example responses first with status code 500 and then with 503 #198

Open zavalit opened 6 years ago

zavalit commented 6 years ago

Hi folks i've build/deployed "hello-world" example against minikube (kubernetes v1.7.5)

HTTP ERROR 500

Problem accessing /hello. Reason:

    Server Error
Caused by:

javax.servlet.ServletException: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:IsSecure:null, PoolKeepAliveTime:900, MaxTotalConnections:200, EnableConnectionPool:true, EnablePrimeConnections:false, TrustStorePassword:null, DeploymentContextBasedVipAddresses:null, MaxRetriesPerServerPrimeConnection:9, ReadTimeout:5000, ForceClientPortConfiguration:null, EnableZoneExclusivity:false, StaleCheckingEnabled:null, Port:7001, PoolMinThreads:1, ServerListRefreshInterval:null, NIWSServerListFilterClassName:null, ConnectionManagerTimeout:2000, MaxTotalHttpConnections:200, NFLoadBalancerMaxTotalPingTime:null, EnableGZIPContentEncodingFilter:false, IgnoreUserTokenInConnectionPoolForSecureClient:null, KeyStorePassword:null, VipAddress:null, TrustStore:null, AppName:null, PrioritizeVipAddressBasedServers:true, Version:null, UseIPAddrForServer:false, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, ServerDownFailureLimit:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, ReceiveBufferSize:null, KeyStore:null, EnableZoneAffinity:false, BackoffTimeout:null, MaxTotalTimeToPrimeConnections:30000, ServerDownStatWindowInMillis:null, MaxAutoRetries:0, SendBufferSize:null, IsClientAuthRequired:false, PoolKeepAliveTimeUnits:SECONDS, SecurePort:null, FollowRedirects:false, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, EnableMarkingServerDownOnReachingFailureLimit:null, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule, ServerListUpdaterClassName:null, MaxHttpConnectionsPerHost:50, MinPrimeConnectionsRatio:1.0, ClientClassName:com.netflix.niws.client.http.RestClient, RequestIdHeaderName:null, ConnectionCleanerRepeatInterval:30000, ProxyHost:null, OkToRetryOnAllOperations:false, PoolMaxThreads:200, ConnIdleEvictTimeMilliSeconds:30000, RequestSpecificRetryOn:null, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, PrimeConnectionsURI:/, ConnectionPoolCleanerTaskEnabled:true, InitializeNFLoadBalancer:null, Linger:null, NFLoadBalancerPingInterval:null, ConnectTimeout:2000, listOfServers:, MaxConnectionsPerHost:50, ProxyPort:null, TargetRegion:null, GZipPayload:null, CustomSSLSocketFactoryClassName:null, IsHostnameValidationRequired:null, RulePredicateClasses:null, MaxAutoRetriesNextServer:1, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList
    at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1312)
...

here is a complete log: https://gist.github.com/zavalit/df74424786136ecedf855daa29d09e9c

and after a minute

HTTP ERROR 503

Problem accessing /hello. Reason:

    Service Unavailable
Caused by:

org.eclipse.jetty.servlet.ServletHolder$1: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:IsSecure:null, PoolKeepAliveTime:900, MaxTotalConnections:200, EnableConnectionPool:true, EnablePrimeConnections:false, TrustStorePassword:null, DeploymentContextBasedVipAddresses:null, MaxRetriesPerServerPrimeConnection:9, ReadTimeout:5000, ForceClientPortConfiguration:null, EnableZoneExclusivity:false, StaleCheckingEnabled:null, Port:7001, PoolMinThreads:1, ServerListRefreshInterval:null, NIWSServerListFilterClassName:null, ConnectionManagerTimeout:2000, MaxTotalHttpConnections:200, NFLoadBalancerMaxTotalPingTime:null, EnableGZIPContentEncodingFilter:false, IgnoreUserTokenInConnectionPoolForSecureClient:null, KeyStorePassword:null, VipAddress:null, TrustStore:null, AppName:null, PrioritizeVipAddressBasedServers:true, Version:null, UseIPAddrForServer:false, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, ServerDownFailureLimit:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, ReceiveBufferSize:null, KeyStore:null, EnableZoneAffinity:false, BackoffTimeout:null, MaxTotalTimeToPrimeConnections:30000, ServerDownStatWindowInMillis:null, MaxAutoRetries:0, SendBufferSize:null, IsClientAuthRequired:false, PoolKeepAliveTimeUnits:SECONDS, SecurePort:null, FollowRedirects:false, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, EnableMarkingServerDownOnReachingFailureLimit:null, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule, ServerListUpdaterClassName:null, MaxHttpConnectionsPerHost:50, MinPrimeConnectionsRatio:1.0, ClientClassName:com.netflix.niws.client.http.RestClient, RequestIdHeaderName:null, ConnectionCleanerRepeatInterval:30000, ProxyHost:null, OkToRetryOnAllOperations:false, PoolMaxThreads:200, ConnIdleEvictTimeMilliSeconds:30000, RequestSpecificRetryOn:null, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, PrimeConnectionsURI:/, ConnectionPoolCleanerTaskEnabled:true, InitializeNFLoadBalancer:null, Linger:null, NFLoadBalancerPingInterval:null, ConnectTimeout:2000, listOfServers:, MaxConnectionsPerHost:50, ProxyPort:null, TargetRegion:null, GZipPayload:null, CustomSSLSocketFactoryClassName:null, IsHostnameValidationRequired:null, RulePredicateClasses:null, MaxAutoRetriesNextServer:1, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList
    at org.eclipse.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:575)
...

here is complete log: https://gist.github.com/zavalit/ac366b41bb89d76055e3338635b79b4e

Meanwhile both hello-hystrix and hello-ribbon-spring-boot are running like specified.