Commits on Nov 13, 2017
  1. Meta server: fix number truncate limit by removing extraneous decrement.

    mikeov committed Nov 13, 2017
  2. Meta server: fix rename (move) from dumpster handling by incrementing…

    mikeov committed Nov 13, 2017
    … file lease count when rename RPC starts in order to prevent scheduling remove from dumpster RPC while rename RPC is in flight, then decrement file lease upon rename RPC completion. Remove file lease entry in replay, as in replay no other file lease leases can exist.
  3. Test scripts: implement truncate chunks enqueue limit test.

    mikeov committed Nov 13, 2017
  4. Meta server: limit maximum truncated chunks queued per truncate RPC t…

    mikeov committed Nov 13, 2017
    …o 1M by default, in order to prevent possible intentional or intentional meta server DoS, as moving chunks into pending delete queue isn't completely trivial, doing so involves updating B+tree due re-assigning chunks to a different file.
  5. Test scripts: implement chunk server hibernate and retire tests. Crea…

    mikeov committed Nov 13, 2017
    …te files with small chunks at the beginning of the test to extent test coverage for off line fsck and re-balance planner tests. Fix typo in QFS test chunk and meta server shutdown logic.
Commits on Nov 12, 2017
  1. Meta server: fix move from dumpster RPC handling by checking if file …

    mikeov committed Nov 12, 2017
    …cleanup already in progress and declaring a failure if it is, at the rename RPC start time instead of commit time. This is needed in order to make the logic work the same way in both replay and non replay case, as the remove in flight transition occurs [only in non replay case] at time time when remove from dumpster RPC is created, i.e. prior to writing it into transaction log and committing it
Commits on Nov 11, 2017
  1. Chunk server: fix retire RPC "leak" right before chunk server shutdow…

    mikeov committed Nov 11, 2017
    …n by "submitting" the RPC. Change retire trace message level to warning.
  2. Tools: fix qfshibernate to allow to issue now deprecated chunk server…

    mikeov committed Nov 11, 2017
    … retire by setting reconnect timeout to 0.
  3. Meta server: change truncate to delete chunks with striped files in t…

    mikeov committed Nov 11, 2017
    …he case when both actual and target file size are 0, in order to allow to delete chunks (and corresponding [write] leases) with "abandoned" files.
  4. Meta server: fix null pointer de-reference in chunk server hibernatio…

    mikeov committed Nov 11, 2017
    …n. Change hibernation message log level in replay to debug. Fix message in retire RPC show method, and retire error message by adding missing spaces. Display remaining to evacuate chunks count in trace message.
  5. Merge pull request #225 from sfllaw/gcc-7.2

    mikeov committed Nov 11, 2017
    Fix errors and warnings from GCC 7.2
Commits on Nov 10, 2017
  1. LayoutManager::CSWriteExtra::Write() handles bool

    sfllaw committed Nov 10, 2017
    `LayoutManager::CSWriteExtra::Write()` would take boolean arguments
    and try to convert them using `IntToDecString()`, which tried to
    do a left-shift, or integer operation, in a bool context.
    Instead, we just have `Write()` understand how to handle booleans
    directly. In addition, we remove `CSWriteExtra::BoolToString()`
    which becomes redundant.
  2. MessageStream::xsputn memcpys at least 0 bytes

    sfllaw committed Nov 10, 2017
    It was possible for `BufferedLogWriter::MessageStream::xsputn()` to
    `memcpy()` a negative number of bytes, because the old code computed:
        const streamsize theSize(
            min(max(streamsize(0), inLength),
                streamsize(theEndPtr - theCurPtr)));
    Instead, we always want `max(streamsize(0), min(...))` so that we
    never get a negative `theSize`.
  3. StBuffer::Swap(StBufferT& inBuf) cannot take const

    sfllaw committed Nov 10, 2017
    G++ 7 is much more strict with const references, so you cannot call
    `swap(T& a, const T& b)`, since `b` is const so it cannot be changed.
    Therefore, `StBuffer::Swap(const StBufferT& inBuf)` cannot possibly
    be correct, and must take a mutable argument.
Commits on Oct 30, 2017
  1. Codecov: set target code coverage with default CI tests by adding cod…

    mikeov committed Oct 30, 2017
    …ecov configuration.
Commits on Oct 25, 2017
  1. Tools: remove auto_ptr use declaration.

    mikeov committed Oct 25, 2017
  2. Tools: qfs shell: do not use deprecated auto_ptr, emit error messages…

    mikeov committed Oct 25, 2017
    … into standard error. Qfs and qfs shell use const qualifiers with command line arguments.
Commits on Oct 24, 2017
  1. Meta server: fix formatting by replacing tab with spaces.

    mikeov committed Oct 24, 2017
  2. Chunk server: fix condition reversal in start replication or recovery…

    mikeov committed Oct 24, 2017
    … check, which might lead to chunk inventory divergence with meta server in the case when replication or recovery arrives at the time when chunk available notification is in flight.
Commits on Oct 22, 2017
  1. IO library: fix TCP socket connect method by correctly handling both …

    mikeov committed Oct 22, 2017
    …non blocking (when socket connects "instantaneously") and blocking connect successes.
  2. Wiki: update release nodes by adding access time update section.

    mikeov committed Oct 22, 2017
  3. Annotated configuration files: fix directories access time resolution…

    mikeov committed Oct 22, 2017
    … parameter name. Fix typos, and revise VR replication parameters description.
Commits on Oct 21, 2017
  1. Merge pull request #222 from MrStupnikov/fix_notes_about_vr

    mikeov committed Oct 21, 2017
    Clarified comments about metaDataSync.servers var
  2. Clarified comments about metaDataSync.servers var

    Alexey Stupnikov
    Alexey Stupnikov committed Oct 21, 2017
    metaDataSync.servers variable should contain a list of IP
    addresses and ports of metaservers that should be used for
    initial synchronization. Existing comments doesn't contain
    this information.
  3. Wiki: update binary distributions page. Fix master branch links to Ce…

    mikeov committed Oct 21, 2017
    …ntOS binaries.
Commits on Oct 16, 2017
  1. Annotated configuration files: Add description for files and director…

    mikeov committed Oct 16, 2017
    …ies modification time resolution parameters. Fix / update write append parameters descriptions.
Commits on Oct 6, 2017
  1. Meta server: implement atime update on read lease renew. Do not updat…

    mikeov committed Oct 6, 2017
    …e atime with chunk server read leases generated by to chunk RS recovery.
Commits on Oct 5, 2017
  1. Meta server: minor performance optimization: use single linked queue …

    mikeov committed Oct 5, 2017
    …to implement set atime wait queue, eliminate linked list traversal in make stable lease acquire wait queue by using single liked ring.
Commits on Oct 4, 2017
  1. Meta server: fix typo in comment.

    mikeov committed Oct 4, 2017
  2. Test scripts: enable access time update in endurance test by setting …

    mikeov committed Oct 4, 2017
    …both file and directory update access time resolution to 0.