-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eureka Server and Client incompatible between Angel (SR6) and Brixton (SR1) when using custom eureka.instance.metadataMap.instanceId #1111
Comments
Added to
but this deserializer is not used in the A ugly but working hack is to start EurekaServer with preinitialized codec:
There must be a cleaner way. I have to test this a little more. Added example projects with this hack to: https://github.com/copa2/brixtonangelcompatibility |
@dsyer (and @copa2) if you want to take a look at the brixton-server-angel-compat branch. It's close. There are 2 404/reregistrations, then it settles down. @copa2 does yours do that? |
@copa2 ok, with just your hack I get the 2 404's and then things settle down fine. It registers with just hostname first (I saw it in the eureka console), then with the instanceid. |
Does Here's what an Angel client (SCS) POSTs to /eureka/apps/{appId} for reference.
|
@spencergibb Yes we seem to apply the same fixes. Yours cleaner and at the right places :-) |
@copa2 I think we may be seeing multiple threads on the client happen out of order, the first 404 is a renew that happens before register. I had a hunch and ran the Angel Eureka Client against Angel Eureka server and see the same 2 404's. I think it's an issue with the angel client and sending the heartbeat's before registration. I think my fix in https://github.com/spring-cloud/spring-cloud-netflix/tree/brixton-server-angel-compat is as good as it gets. @william-tran my branch linked above adds the functionality to the deserializer. |
I see it like you. I think your fix in brixton-server-angel-compat should be applied. Also looked a little bit more into registration of Angel Client. It starts 2 threads which do registration (HeartbeatThread and InstanceInfoReplicator). First renew happens in the HeartbeatThread before registration. So its normal to get the first 404. The second 404 is because the in Brixton Server validates lastDirtyTimestamp with the one registered. |
Closed via 5d6590d |
@spencergibb, is there an ETA for a release of this fix in spring-cloud-netflix:1.1.3 and/or Brixton.SR2? |
@mtritschler no, but soon. |
As requested in #978, opened this new ticket.
When Angel client uses custom 'eureka.instance.metadataMap.instanceId' the
EurekaServer (Brixton.SR1) is not compatible with a Eureka Client (Angel.SR6).
In my case the Angel client has:
In this case the client tries to register itself all 30 sec:
Brixton.SR1 Eureka Server logs:
com.netflix.eureka.registry.AbstractInstanceRegistry.register
will register with hostname(instanceInfo.getId()) when no instanceId is set(never set in Angel clients).The text was updated successfully, but these errors were encountered: