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 9892C200C15 for ; Wed, 8 Feb 2017 18:50:45 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 9723F160B5A; Wed, 8 Feb 2017 17:50:45 +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 E12E3160B49 for ; Wed, 8 Feb 2017 18:50:44 +0100 (CET) Received: (qmail 86279 invoked by uid 500); 8 Feb 2017 17:50:44 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 86270 invoked by uid 99); 8 Feb 2017 17:50:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2017 17:50:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 97605180684 for ; Wed, 8 Feb 2017 17:50:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id SJlWc5SRQpaK for ; Wed, 8 Feb 2017 17:50:42 +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 699945F298 for ; Wed, 8 Feb 2017 17:50:42 +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 E9AF5E0141 for ; Wed, 8 Feb 2017 17:50: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 9ECB32528B for ; Wed, 8 Feb 2017 17:50:41 +0000 (UTC) Date: Wed, 8 Feb 2017 17:50:41 +0000 (UTC) From: "Igor Seliverstov (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (IGNITE-4646) Try to unmarshall direct messages in striped pool MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 08 Feb 2017 17:50:45 -0000 [ https://issues.apache.org/jira/browse/IGNITE-4646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858305#comment-15858305 ] Igor Seliverstov commented on IGNITE-4646: ------------------------------------------ Made changes after last tests fail, waiting for results https://github.com/apache/ignite/pull/1499 http://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests_RunCache&branch_IgniteTests=pull%2F1499%2Fhead > Try to unmarshall direct messages in striped pool > ------------------------------------------------- > > Key: IGNITE-4646 > URL: https://issues.apache.org/jira/browse/IGNITE-4646 > Project: Ignite > Issue Type: Improvement > Reporter: Yakov Zhdanov > Assignee: Igor Seliverstov > Fix For: 2.0 > > > During marshalling in NIO thread the following should be added to the write buffer and sent to peer: > 1. chunk size - 16 bits (this probably puts limitation on max write buffer size of 64k or will require some changes to direct writer) > 2. last chunk - 1 bit > 3. pool policy - 8 bits > Here is the scheme to explain how this should work. > {noformat} > [chunk size] [pool policy] [partition] [last flag] [chunk data] X <-- no more space in write buffer > [next chunk size] [last flag] [chunk data] <<-- we write next chunk once some space is available in write buffer, but we skip partition and policy flags and maybe others that should be sent only once. > ... > ... > [next chunk size] [last flag] [chunk data] <<-- last flag is true here > {noformat} > Examples > Write buffer - 64k > Message - 84k > # sender reserves space for chunk size > # reserves space for policy and last chunk flag > # marshalls message to buffer while it has free space (64k - SPACE will be written to buffer) > # puts size and flags to reserved space in the beginning > # sends buffer or part of it which makes some space available to further writes > # reserves space for next chunk size and flags > # marshalls message to buffer while it has free space (lets assume the rest of message fits) > # puts size and last=true to the reserved space and sends > Receiver: > # reads chunk size, stores the target pool and partition > # allocates heap buffer and copies chunk data to it from read buffer > # once all message chunks are fully read message should be submitted to a pool where it will be unmarshalled and processed -- This message was sent by Atlassian JIRA (v6.3.15#6346)