Title: Docker Compose setup is broken on master · Issue #652 · feast-dev/feast · GitHub
Open Graph Title: Docker Compose setup is broken on master · Issue #652 · feast-dev/feast
X Title: Docker Compose setup is broken on master · Issue #652 · feast-dev/feast
Description: Expected Behavior Following https://docs.feast.dev/installation/docker-compose works successfully. Current Behavior Spring configurations fail to wire, e.g. online-serving_1 | 2020-04-26 09:01:16.607 WARN 665e326fd6d8 --- [ main] ConfigS...
Open Graph Description: Expected Behavior Following https://docs.feast.dev/installation/docker-compose works successfully. Current Behavior Spring configurations fail to wire, e.g. online-serving_1 | 2020-04-26 09:01:16.6...
X Description: Expected Behavior Following https://docs.feast.dev/installation/docker-compose works successfully. Current Behavior Spring configurations fail to wire, e.g. online-serving_1 | 2020-04-26 09:01:16.6...
Opengraph URL: https://github.com/feast-dev/feast/issues/652
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Docker Compose setup is broken on master","articleBody":"## Expected Behavior\r\n\r\nFollowing https://docs.feast.dev/installation/docker-compose works successfully.\r\n\r\n## Current Behavior\r\n\r\nSpring configurations fail to wire, e.g.\r\n\r\n```\r\nonline-serving_1 | 2020-04-26 09:01:16.607 WARN 665e326fd6d8 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'storeConfiguration' defined in URL [jar:file:/opt/feast/feast-serving.jar!/BOOT-INF/classes!/feast/serving/configuration/StoreConfiguration.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [feast.serving.configuration.StoreConfiguration$$EnhancerBySpringCGLIB$$eb7624c6]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servingRedisConnection' defined in class path resource [feast/serving/configuration/redis/ServingStoreRedisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lettuce.core.api.StatefulRedisConnection]: Factory method 'servingRedisConnection' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servingRedisClient' defined in class path resource [feast/serving/configuration/redis/ServingStoreRedisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lettuce.core.RedisClient]: Factory method 'servingRedisClient' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'servingStoreRedisConf' defined in class path resource [feast/serving/configuration/redis/ServingStoreRedisConfig.class]: Unsatisfied dependency expressed through method 'servingStoreRedisConf' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'specService' defined in class path resource [feast/serving/configuration/SpecServiceConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [feast.serving.specs.CachedSpecService]: Factory method 'specService' threw exception; nested exception is java.lang.RuntimeException: Unable to update store configuration\r\n```\r\n\r\n## Steps to reproduce\r\n\r\nCheck out Feast master, and:\r\n\r\n $ docker-compose -p feast-fullstack --env-file ./infra/docker-compose/.env.sample -f ./infra/docker-compose/docker-compose.yml up\r\n\r\n### Specifications\r\n\r\n- Version: master\r\n- Platform: macOS\r\n- Subsystem: Docker Compose\r\n\r\n## Possible Solution\r\n\r\nThis has probably stemmed from the recent configuration refactor merge from #611, like `StoreConfiguration` being removed and application YAML configs under `infra/docker-compose` being stale now.\r\n\r\nThose config file fragments would need to be updated. It might be a good idea to set image tags for released Feast versions in the `.env.sample` so that user installation experience following the docs isn't susceptible to mainline development breakages, assuming configs in `infra/docker-compose` would be frozen until next release time. Alternatively/additionally to the image tags, instruct users to check out a Git tag for the Compose installation.\r\n\r\n## Dev Workflow Consideration\r\n\r\nFor development I don't run the full Feast stack Docker Compose, since it isn't set up for that (rebuilding images as you change code, etc.). Rather I run the subset of `infra/docker-compose/docker-compose.yml` that is only the external service dependencies, and have the running Feast apps connect to the forwarded service ports from my host machine. \r\n\r\nI also need the patch below for that to work: there's a transposition typo in the Postgres port, and the Kafka listeners advertise `localhost:9094` instead of 9092. Both of those mean that the default `application.yml` configs using the standard service ports fail to connect out of the box. Perhaps this patch can be included when fixing everything else from the big configuration refactor. I was getting ready to submit this patch when I tested the full stack and found this issue.\r\n\r\n```patch\r\ndiff --git a/infra/docker-compose/docker-compose.yml b/infra/docker-compose/docker-compose.yml\r\nindex 38234cff..775687e6 100644\r\n--- a/infra/docker-compose/docker-compose.yml\r\n+++ b/infra/docker-compose/docker-compose.yml\r\n@@ -89,13 +89,12 @@ services:\r\n environment:\r\n KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181\r\n KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1\r\n- KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9092,OUTSIDE://localhost:9094\r\n- KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094\r\n+ KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9094,OUTSIDE://localhost:9092\r\n+ KAFKA_LISTENERS: INSIDE://:9094,OUTSIDE://:9092\r\n KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT\r\n KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE\r\n ports:\r\n - \"9092:9092\"\r\n- - \"9094:9094\"\r\n \r\n depends_on:\r\n - zookeeper\r\n@@ -110,4 +109,4 @@ services:\r\n environment:\r\n POSTGRES_PASSWORD: password\r\n ports:\r\n- - \"5432:5342\"\r\n\\ No newline at end of file\r\n+ - \"5432:5432\"\r\n\\ No newline at end of file\r\n```","author":{"url":"https://github.com/ches","@type":"Person","name":"ches"},"datePublished":"2020-04-26T09:28:49.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/652/feast/issues/652"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:b766e695-2b0d-59fd-ac52-eebdd1159226 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A0F6:7BDF1:19D23F3:22C1E84:69798B3B |
| html-safe-nonce | 8be850356f38996762d92065bc50f2629c57e03368b102aea8d6613df12ce25f |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMEY2OjdCREYxOjE5RDIzRjM6MjJDMUU4NDo2OTc5OEIzQiIsInZpc2l0b3JfaWQiOiI4MjQzMTU0NzA4MDQyNzEzOTE1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 4c4c4abba61c663c4c3970a6643aa49e55591d2a5993d26434ec6b6665b4135c |
| hovercard-subject-tag | issue:606965915 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/feast-dev/feast/652/issue_layout |
| twitter:image | https://opengraph.githubassets.com/2d5e41b68abb804219c54b2672ca04a1205d809738554f292ab2034ade3521b4/feast-dev/feast/issues/652 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/2d5e41b68abb804219c54b2672ca04a1205d809738554f292ab2034ade3521b4/feast-dev/feast/issues/652 |
| og:image:alt | Expected Behavior Following https://docs.feast.dev/installation/docker-compose works successfully. Current Behavior Spring configurations fail to wire, e.g. online-serving_1 | 2020-04-26 09:01:16.6... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ches |
| hostname | github.com |
| expected-hostname | github.com |
| None | c049b65ec7e54cbf2521f5a560b6527714c612b0bd169188e2ea6e16f83bd5f4 |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 87b137883e35e2766c3d0f6a257c4044f6390b83 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width