Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4BB0417CA7 for ; Fri, 31 Oct 2014 16:58:34 +0000 (UTC) Received: (qmail 32643 invoked by uid 500); 31 Oct 2014 16:58:34 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 32609 invoked by uid 500); 31 Oct 2014 16:58:34 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 32596 invoked by uid 99); 31 Oct 2014 16:58:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Oct 2014 16:58:34 +0000 Date: Fri, 31 Oct 2014 16:58:34 +0000 (UTC) From: "Joshua McKenzie (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-7979) Acceptable time skew for C* MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-7979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14192067#comment-14192067 ] Joshua McKenzie commented on CASSANDRA-7979: -------------------------------------------- Didn't even think about this until going to commit - [~jbellis]: are we frozen on new features for 2.0? If so, I'll go ahead and commit to 2.1 and merge up. > Acceptable time skew for C* > --------------------------- > > Key: CASSANDRA-7979 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7979 > Project: Cassandra > Issue Type: Improvement > Reporter: sankalp kohli > Assignee: sankalp kohli > Priority: Minor > Attachments: 2.0_7979.diff, 2.0_7979_v2.txt, 2.1_7979_v2.txt, trunk_7979.diff, trunk_7979_v2.txt > > > It is very hard to know the bounds on clock skew required for C* to work properly. Since the resolution is based on time and is at thrift column level, it depends on the application. How fast is the application updating the same column. If you update a column say after 5 millisecond and the clock skew is more than that, you might not see the updates in correct order. > In this JIRA, I am proposing a change which will answer this question: "How much clock skew is acceptable for a given application". This will help answer the question whether the system needs some alternate NTP algorithms to keep time in sync. > If we measure the time difference between two updates to the same column, we will be able to answer the question on clock skew. > We can implement this in memtable(AtomicSortedColumns.addColumn). If we find that a column is updated within say 100 millisecond, add the diff to a histogram. Since this might have performance issues, we might want to have some throttling like randomization or only enable it for a small time via nodetool. > With this histogram, we will know what is an acceptable clock skew. > Also apart from column resolution, is there any other area which will be affected by clock skew? > Note: For the sake of argument, I am not talking about back date deletes or application modified timestamps. -- This message was sent by Atlassian JIRA (v6.3.4#6332)