From dev-return-100204-archive-asf-public=cust-asf.ponee.io@qpid.apache.org Thu Jan 9 18:11:05 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id A866E18067C for ; Thu, 9 Jan 2020 19:11:04 +0100 (CET) Received: (qmail 55902 invoked by uid 500); 9 Jan 2020 18:11:04 -0000 Mailing-List: contact dev-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list dev@qpid.apache.org Received: (qmail 55881 invoked by uid 99); 9 Jan 2020 18:11:04 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jan 2020 18:11:04 +0000 Received: from jira-he-de.apache.org (static.172.67.40.188.clients.your-server.de [188.40.67.172]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id A61AFE3155 for ; Thu, 9 Jan 2020 18:11:01 +0000 (UTC) Received: from jira-he-de.apache.org (localhost.localdomain [127.0.0.1]) by jira-he-de.apache.org (ASF Mail Server at jira-he-de.apache.org) with ESMTP id 5D1907808EB for ; Thu, 9 Jan 2020 18:11:00 +0000 (UTC) Date: Thu, 9 Jan 2020 18:11:00 +0000 (UTC) From: "ASF GitHub Bot (Jira)" To: dev@qpid.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (DISPATCH-1532) Reimplement mobile-sync as a core module MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/DISPATCH-1532?page=3Dcom.atlass= ian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1= 7012093#comment-17012093 ]=20 ASF GitHub Bot commented on DISPATCH-1532: ------------------------------------------ kgiusti commented on pull request #654: DISPATCH-1532 - Reimplemented mobil= e-address-synchronization as a cor=E2=80=A6 URL: https://github.com/apache/qpid-dispatch/pull/654#discussion_r364885826 =20 =20 ########## File path: src/router_core/modules/mobile_sync/mobile.c ########## @@ -0,0 +1,860 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include "module.h" +#include "router_core_private.h" +#include "core_events.h" +#include "route_control.h" +#include +#include +#include +#include +#include +#include + +#define PROTOCOL_VERSION 1 +static const char *OPCODE =3D "opcode"; +static const char *MAR =3D "MAR"; +static const char *MAU =3D "MAU"; +static const char *ID =3D "id"; +static const char *PV =3D "pv"; +static const char *AREA =3D "area"; +static const char *MOBILE_SEQ =3D "mobile_seq"; +static const char *HINTS =3D "hints"; +static const char *ADD =3D "add"; +static const char *DEL =3D "del"; +static const char *EXIST =3D "exist"; +static const char *HAVE_SEQ =3D "have_seq"; + +// +// Address.sync_mask bit values +// +#define ADDR_SYNC_DELETION_WAS_BLOCKED 0x00000001 +#define ADDR_SYNC_IN_ADD_LIST 0x00000002 +#define ADDR_SYNC_IN_DEL_LIST 0x00000004 +#define ADDR_SYNC_TO_BE_DELETED 0x00000008 + +#define BIT_SET(M,B) M |=3D B =20 Review comment: I'm ok with leaving it as-is for now and moving it after the patch lands= . =20 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. =20 For queries about this service, please contact Infrastructure at: users@infra.apache.org > Reimplement mobile-sync as a core module > ---------------------------------------- > > Key: DISPATCH-1532 > URL: https://issues.apache.org/jira/browse/DISPATCH-1532 > Project: Qpid Dispatch > Issue Type: Improvement > Components: Routing Engine > Reporter: Ted Ross > Assignee: Ted Ross > Priority: Major > Fix For: 1.11.0 > > > The code in Qpid Dispatch Router currently does mobile address synchroniz= ation between routers in the Python router module.=C2=A0 This has a couple = of drawbacks in cases where there are large numbers of addresses: > * The address strings are stored twice:=C2=A0 once in the main address l= ookup hash table and again in the Python mobile address module. > * Address lookup on the Python side is inefficient and has been a bottle= neck (improved recently by a patch from Gordon Sim). > * Python processing is single threaded.=C2=A0 A large mobile address upd= ate can cause delays in processing management requests and link-state topol= ogy maintenance. > The python router module was intended to be an on-the-side control-plane = moduel that was not in the critical path for any performance-related activi= ties.=C2=A0 With large numbers of addresses in a network, synchronizing add= ress locations becomes performance-related. > To address these issues, mobile address synchronization can be moved into= a core module where it can use and share the same address table that is us= ed by the router core for make high speed routing decisions.=C2=A0 In the p= rocess, it will leave the python modules alone to process management reques= ts and topology maintenance uninterrupted. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org For additional commands, e-mail: dev-help@qpid.apache.org