Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 70A2F200C50 for ; Sat, 25 Mar 2017 01:34:46 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 6F479160B96; Sat, 25 Mar 2017 00:34:46 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 91C3E160B93 for ; Sat, 25 Mar 2017 01:34:45 +0100 (CET) Received: (qmail 94949 invoked by uid 500); 25 Mar 2017 00:34:44 -0000 Mailing-List: contact dev-help@curator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@curator.apache.org Delivered-To: mailing list dev@curator.apache.org Received: (qmail 94938 invoked by uid 99); 25 Mar 2017 00:34:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 25 Mar 2017 00:34:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 5E381C3AAD for ; Sat, 25 Mar 2017 00:34:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.201 X-Spam-Level: X-Spam-Status: No, score=-99.201 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id zkvqY-14dgeF for ; Sat, 25 Mar 2017 00:34:43 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 33FCA5FB64 for ; Sat, 25 Mar 2017 00:34:43 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id D9660E0436 for ; Sat, 25 Mar 2017 00:34:41 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 83A9A24062 for ; Sat, 25 Mar 2017 00:34:41 +0000 (UTC) Date: Sat, 25 Mar 2017 00:34:41 +0000 (UTC) From: "Jordan Zimmerman (JIRA)" To: dev@curator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CURATOR-394) UnrecognizedPropertyException: "enabled" incompatibility MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Sat, 25 Mar 2017 00:34:46 -0000 [ https://issues.apache.org/jira/browse/CURATOR-394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15941391#comment-15941391 ] Jordan Zimmerman commented on CURATOR-394: ------------------------------------------ https://github.com/apache/curator/pull/208 > UnrecognizedPropertyException: "enabled" incompatibility > -------------------------------------------------------- > > Key: CURATOR-394 > URL: https://issues.apache.org/jira/browse/CURATOR-394 > Project: Apache Curator > Issue Type: Bug > Components: Recipes > Affects Versions: 2.12.0 > Reporter: Gian Merlino > > When doing a rolling upgrade of our services from Curator 2.10.0 to Curator 2.12.0 we noticed some of the non-upgraded services started throwing this error. The cause seems to the combination of a new field added to ServiceInstance in CURATOR-275, and the lack of an "ignore unknown properties" setting on the ObjectMapper used by Curator 2.10.0. > This makes it so clients need to be upgraded before services. But if you have a cluster where some services are also clients of other services (or of a service they are a part of) then I don't see a way to do a rolling upgrade with the way things currently are. Whatever instance you upgrade first will start announcing itself in a way that breaks instances running the previous version of the code. This doesn't seem to be configurable either, so the new "enabled" field can't be omitted from the serialized form. > One possible solution is to revert CURATOR-275, add an "ignore unknown properties" to the ObjectMapper, and then re-introduce CURATOR-275 in a future release. That'd create a "you must go through release X first to upgrade to release Y" situation, but it would at least make it possible to do rolling updates. > Another possible solution is to accept that clients always need to be upgraded before services, and accept that if you can't do this, it's impossible to update without downtime. This seems like something that'd be good to avoid though. > {code} > 2017-03-23 16:22:35,652 [DruidTaskResolver[com.metamx.tranquility.druid.IndexService@37a0ec3c]] WARN c.m.t.finagle.DruidTaskResolver - Poll failed, trying again at[2017-03-23T16:23:10.899Z]. > org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "enabled" (Class org.apache.curator.x.discovery.ServiceInstance), not marked as ignorable > at [Source: [B@e9cde06; line: 1, column: 226] (through reference chain: org.apache.curator.x.discovery.ServiceInstance["enabled"]) > at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1973) ~[org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:1.9.13] > at org.apache.curator.x.discovery.details.JsonInstanceSerializer.deserialize(JsonInstanceSerializer.java:50) ~[org.apache.curator.curator-x-discovery-2.10.0.jar:na] > at org.apache.curator.x.discovery.details.ServiceCacheImpl.addInstance(ServiceCacheImpl.java:193) ~[org.apache.curator.curator-x-discovery-2.10.0.jar:na] > at org.apache.curator.x.discovery.details.ServiceCacheImpl.start(ServiceCacheImpl.java:96) ~[org.apache.curator.curator-x-discovery-2.10.0.jar:na] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)