Skip to content
Commits on Jun 18, 2011
  1. @tsuna

    Remove a FD/pipe "leak" caused by the stupid JDK.

    Change-Id: I1edcc76eace1ba309f5e887ba06d63d044120472
    tsuna committed Jun 17, 2011
Commits on Jun 14, 2011
  1. @tsuna

    Factor out some duplicate code.

    Change-Id: I8102b8f978f2b9d56f629eb0e576893e415663c2
    tsuna committed Jun 6, 2011
  2. @tsuna

    Add unit tests for the faster `Long.parseLong'.

    Change-Id: Ifd86841cf1b1af27d8ce2ec13d1fc8de2b983ce2
    tsuna committed Jun 13, 2011
  3. @tsuna

    Fix a little javadoc syntax error.

    Change-Id: I36fc1e29607818d78145e7d42151551273e2cdf6
    tsuna committed Jun 13, 2011
  4. @tsuna

    fsck --fix: Properly fix data points at the same timestamp.

    Change-Id: Iebbe4c426c690c021eef9af75a0e135b6b0c06cb
    tsuna committed Jun 10, 2011
  5. @tsuna

    fsck: Provide more feedback on how much progress is made.

    Change-Id: Ib30dce789e3cadf5f45329b95bab5e4c420549a0
    tsuna committed Jun 10, 2011
  6. @tsuna

    Implement the --fix flag for the "fsck" command.

    This helps automatically fix out-of-order data problems.
    Depending on the exact nature of the problem at hand, the
    behavior implemented by --fix might not always be The Right
    Thing.  With --fix, data scanned last can always overwrite
    data scanner earlier, but that's not necessarily what the
    user wants, it depends.
    
    Change-Id: I0e68fe32af98f28889e06836289d7a0fbb32c36a
    tsuna committed Jun 10, 2011
  7. @tsuna

    Add a "fsck" tool for TSDB data.

    Right now the tool only detects out of order data and malformed values.
    
    Change-Id: I2c4f55bc5888e2e53da890c41d143311d22efa67
    tsuna committed Jun 9, 2011
  8. @tsuna

    Increase the maximum time span of a row from 10 to 60 minutes.

    This means that now the TSD will store 1h worth of data per row.
    Be careful when rolling out this change.  All TSDs need to be in
    agreement as far as this value is concerned to avoid creating
    "overlapping" rows.  The recommended way to roll out this change
    is to do a rolling restart of TSDs within the first 10 minutes
    after the beginning of a new hour.
    
    This change is backwards and forward compatible.
    
    This change also fixes a couple bugs that were lurking in
    IncomingDataPoints due to Java's stupid integer promotion
    when doing bit-operations on `short' integers!@#$%^
    
    Change-Id: I66602348080dc5d58d3f7b0bc144d1a713bde607
    tsuna committed Jun 3, 2011
  9. @tsuna

    Simplify the write path.

    The idea behind IncomingDataPoints never really took off.  This class
    was originally supposed to allow the TSD to maintain an in-memory cache
    of "recent" data that had been written to HBase.  This in-memory cache
    was never implemented and cannot actually be easily implemented because
    we can no longer guarantee that a TSD sees all the data points going to
    a particular row.  The idea was that this in-memory cache could be used
    to serve queries on recent data and to ride over HBase outages (i.e.
    serve recent data even if HBase was down).  I don't see TSD doing this
    any time soon, so this change starts to bypass IncomingDataPoints, which
    does some complicated things that aren't actually necessary.
    
    Change-Id: Ifef6227e6f1d2766b14fe5b5701ece62ea5973c4
    tsuna committed Jun 6, 2011
  10. @tsuna

    Make GWT asset files cacheable.

    GWT asset files are over 1 year old, and the max-age is set to 1 year on
    static files that are cacheable.  So touch them during the build process
    to "reset" their mtime.
    
    Change-Id: Ie04a48a351341b725d27981e60a5b456c4ed85ab
    tsuna committed Jun 14, 2011
  11. @tsuna

    Add a new runtime exception for malformed data.

    This is better than using AssertionError because this class of errors
    isn't caused by an invariant being violated, rather by data being not
    what we expect (malformed or corrupted).  In the TSD, this will lead
    to an Internal Server Error, instead of killing the thread without
    giving feedback to the remote client.
    
    Change-Id: I611b565623468497aa701bd878dec16d6ffa44ca
    tsuna committed Jun 10, 2011
Commits on Jun 10, 2011
  1. @tsuna

    Start to support some basic variable-length encodings.

    Allow real floating values (`float') on 4 bytes, even though right now
    for historical reasons they're encoded on 8 bytes with 4 leading zeros.
    
    Allow various integer values (`int': 4 bytes, `short': 2 bytes,
    `byte': 1 byte).
    
    This is for forward-compatibility with future changes.  These changes
    will first have to be enabled via a flag which will default to false.
    
    Change-Id: Ie30d206885d1dfdd3d4262bb2abbca5a12dd3300
    tsuna committed Jun 6, 2011
  2. @tsuna

    Add a 'fsck' subcommand for the 'uid' command.

    This command checks the consistency (or lack thereof) of the UID table.
    
    Change-Id: Ia02bce581e26f8cc3a9a0cb39cbbc690307f4981
    tsuna committed Jun 8, 2011
  3. @tsuna

    Add the --auto-metric flag to the `import' command too.

    Change-Id: I1344b441db60d936712f789e5953ce1244294388
    tsuna committed Jun 9, 2011
  4. @tsuna

    Be more resilient when dumping raw series.

    Handle exception caused by UniqueId lookups gracefully.
    This is useful to debug corrupted tables.
    
    Change-Id: I6d83c3f5b79ce48194c6fe5e5b9b97887f4e1c84
    tsuna committed Jun 8, 2011
Commits on Jun 9, 2011
  1. @tsuna

    Remove some broken/useless latency tracking for put RPCs.

    This is commented out until we have a proper thread-safe moving
    histogram class.
    
    Change-Id: I3ffa8d2259e76c1e1fc4082a03c80baa0a43d52f
    tsuna committed Jun 8, 2011
Commits on Jun 7, 2011
  1. @tsuna

    Fix the logic that serves file from cache and add unit tests.

    This closes issue #42.  I believe it also closes issue #10, since
    relative end-dates are no longer handled specially.
    
    Change-Id: I9ee259e7ae94a677bc6fc366024ac385a91a1cdb
    tsuna committed Jun 7, 2011
Commits on Apr 29, 2011
  1. @tsuna

    Added a `nocache' query param to force TSD to serve data from HBase.

    Closes #24
    
    Change-Id: I70ef2bd97ce9794a2baf325115f88b596409d31c
    Aravind Gottipati committed with tsuna Apr 28, 2011
Commits on Apr 28, 2011
  1. @tsuna

    Increase the limit on the maximum length of Y/Y2 range fields.

    This closes #19.
    
    Change-Id: I1fe859e4c9d50bf72ef230dd277ad225c75f2966
    tsuna committed Apr 28, 2011
  2. @tsuna

    Detect content-type for error pages.

    Originally error pages were all HTML so we could hard-code the
    content-type.  Now that we can report errors via JSON, we have
    to detect the content type.
    
    This closes issue #11.
    
    Change-Id: Ifec5a818d299e481fd54ce400f4c3bf2483afc34
    Mark Smith committed with tsuna Apr 28, 2011
  3. @tsuna

    Add unit test for `Tags.validateString'.

    This is to follow up on issue #8.
    
    Change-Id: I5c190137d66dac6716303e006733fdc2545e615c
    tsuna committed Apr 28, 2011
  4. @tsuna

    Don't allocate unnecessary memory when validating names.

    Closes #8.
    
    Change-Id: I3f5fee32b90446b5e0120946792f46fb17b9830c
    Aravind Gottipati committed with tsuna Apr 28, 2011
  5. @tsuna

    Add unit tests for `Tags.parse()'.

    This is also in reference to issue #18.
    
    Change-Id: I8aebe8768106cb0248499bc6d4d1af23a95571b3
    tsuna committed Apr 28, 2011
  6. @tsuna

    Don't complain about duplicate tags if the value is the same.

    Closes #18.
    
    Change-Id: I55c832041166271cfd03a1d9f1de989119103c2c
    Tony Landells committed with tsuna Apr 28, 2011
Commits on Apr 27, 2011
  1. @tsuna

    Add a public API to rename UIDs.

    When a UID is mistakenly created, this API can be used to re-assign the
    UID to another name.  This can be done from the command-line tool:
      $ ./src/tsdb uid rename metrics foo bar
    Will delete the metric named `foo' and give whatever its UID was to the
    new metric named `bar'.
    
    Change-Id: I4541f7f00c5352e95fb7f0a9d100bb23c1af11d1
    tsuna committed Jan 7, 2011
  2. @tsuna

    Make an error message more readable when a telnet-style RPC fails.

    This is less readable and helpful:
      Unexpected exception caught while serving [Ljava.lang.String;@a5c087f
    than this:
      Unexpected exception caught while serving ["some", "bad", "request"]
    
    Change-Id: I90a6c3aa6e7fc3963416cd19609469796cb4dc65
    tsuna committed Jan 7, 2011
  3. @tsuna

    Use 64 bit integers for some internal counters, not 32 bits.

    32 bits overflow at only 2 147 483 648 (2^31), which is inappropriate
    for counting RPCs or events related to RPCs, since after a few days of
    uptime a server can easily serve that many requests...  Doh!
    
    Change-Id: Ie8ae9133ed2b62f9c973cb64d69883c9625d23cf
    tsuna committed Jan 7, 2011
  4. @tsuna

    Add a better implementation of `Long.parseLong'.

    This implementation is up to 100% faster on Strings and up to 5x
    faster on StringBuilder buffers as it always works in O(1) space.
    
    Change-Id: I9f2d015452c470501b78421e0dd5ecdd53a8bbca
    tsuna committed Dec 14, 2010
  5. @tsuna

    Move the array containing the hexadecimal digits to a shared location.

    Change-Id: I52bd161c0de0a058c9402787114ac648d8ff49d6
    tsuna committed Dec 5, 2010
  6. @tsuna

    Bug fix: properly parse the syntax "metric{}" (empty tags).

    Change-Id: I471df86427d6453194f8babdf57075ab93bc0395
    tsuna committed Dec 15, 2010
  7. @tsuna

    Refactor a bit of code.

    Move some helper method to parse metric/tags of the form
    "metric{tag=value}" to a helper class from where it can
    be re-used in other packages.
    
    Change-Id: I6b719cebc9ce3d82d0aca1314c732c6261f347d6
    tsuna committed Dec 12, 2010
  8. @tsuna

    Don't attempt to send an HTTP response on a closed channel.

    If a user closes their browser window before the TSD starts sending the
    response to the last query of this user, the browser will typically
    close the connection instead of waiting for a reply it won't use (since
    the window was closed).  This generates spurious exceptions that cause
    spurious warnings in the logs ("Attempt to write to closed channel").
    
    Change-Id: I8e65232eff5012b52a61e6fd897fc4a67a1d7f5b
    tsuna committed Dec 5, 2010
  9. @tsuna

    Minor improvement in the code checking cache staleness.

    This removes one indirect syscall to `stat'.
    
    Change-Id: If0fa32c698c6dbf51a0ea57f8c3177bde84cc1a4
    tsuna committed Dec 5, 2010
  10. @tsuna

    Automatically delete empty output files.

    They're useless as we never access them ever again.
    
    Change-Id: Ifae312e4885538716b0cae012190b851208a37e9
    tsuna committed Dec 5, 2010
Something went wrong with that request. Please try again.