Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor pluginservice #12367

Closed
wants to merge 32 commits into from
Closed

Commits on Jul 21, 2015

  1. refactor pluginservice

    rmuir committed Jul 21, 2015
    Copy the full SHA
    673454f View commit details
    Browse the repository at this point in the history
  2. fix tests

    rmuir committed Jul 21, 2015
    Copy the full SHA
    cd7c8dd View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    880b472 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2015

  1. Copy the full SHA
    0f38e3e View commit details
    Browse the repository at this point in the history
  2. Remove custom execute local logic in TransportSingleShardAction and T…

    …ransportInstanceSingleOperationAction and rely on transport service to execute locally. (forking thread etc.)
    
    Change TransportInstanceSingleOperationAction to have shardActionHandler to, so we can execute locally without endless spinning.
    martijnvg authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    7f171eb View commit details
    Browse the repository at this point in the history
  3. CLITool: Port PluginManager to use CLITool

    In order to unify the handling and reuse the CLITool infrastructure
    the plugin manager should make use of this as well.
    
    This obsolets the -i and --install options but requires the user
    to use `install` as the first argument of the CLI.
    
    This is basically just a port of the existing functionality, which
    is also the reason why this is not a refactoring of the plugin manager,
    which will come in a separate commit.
    spinscale authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    7a815a3 View commit details
    Browse the repository at this point in the history
  4. CliTool: Various PluginManager fixes

    The new plugin manager parser was not called correctly in the scripts.
    In addition the plugin manager now creates a plugins/ directory in case
    it does not exist.
    
    Also the integration tests called the plugin manager in the deprecated way.
    spinscale authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    e572493 View commit details
    Browse the repository at this point in the history
  5. Remove left over no commit from TransportReplicationAction

    It asks to double check thread pool rejection. I did and don't see problems with it.
    bleskes authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    3318537 View commit details
    Browse the repository at this point in the history
  6. Discovery: make sure NodeJoinController.ElectionCallback is always ca…

    …lled from the update cluster state thread
    
    This is important for correct handling of the joining thread. This causes assertions to trip in our test runs. See http://build-us-00.elastic.co/job/es_g1gc_master_metal/11653/ as an example
    
    Closes elastic#12372
    bleskes authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    b81ccba View commit details
    Browse the repository at this point in the history
  7. PluginManager: Fix bin/plugin calls in scripts/bats test

    The release and smoke test python scripts used to install
    plugins in the old fashion.
    
    Also the BATS testing suite installed/removed plugins in that
    way. Here the marvel tests have been removed, as marvel currently
    does not work with the master branch.
    
    In addition documentation has been updated as well, where it was
    still missing.
    spinscale authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    43080bf View commit details
    Browse the repository at this point in the history
  8. Replace primaryPostAllocated flag and use UnassignedInfo

    There is no need to maintain additional state as to if a primary was allocated post api creation on the index routing table, we hold all this information already in the UnassignedInfo class.
    closes elastic#12374
    kimchy authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    de299b9 View commit details
    Browse the repository at this point in the history
  9. Updating breaking changes

    - field names cannot be mapped with `.` in them
    - fixed asciidoc issue where the list was not recognized as a list
    pickypg authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    2585431 View commit details
    Browse the repository at this point in the history
  10. Refactored check_license_and_sha.pl to accept a license dir and packa…

    …ge path
    
    In preparation for the move to building the core zip, tar.gz, rpm, and deb as separate modules, refactored check_license_and_sha.pl to:
    
    * accept a license dir and path to the package to check on the command line
    * to be able to extract zip, tar.gz, deb, and rpm
    * all packages except rpm will work on Windows
    clintongormley authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    944f06e View commit details
    Browse the repository at this point in the history
  11. Testing: Fix help displaying tests under windows

    The help files are using a unix based file separator, where as
    the test relies on the help being based on the file system separator.
    
    This commit fixes the test to remove all `\r` characters before
    comparing strings.
    
    The test has also been moved into its own CliToolTestCase, as it does
    not need to be an integration test.
    spinscale authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    95d2756 View commit details
    Browse the repository at this point in the history
  12. don't fail junit4 integration tests if there are no tests.

    instead fail the failsafe plugin, which means the external cluster will still get shut down
    rmuir committed Jul 22, 2015
    Copy the full SHA
    3c27cc3 View commit details
    Browse the repository at this point in the history
  13. Unit tests for nodesAndVersions on shared filesystems

    With the `recover_on_any_node` setting, these unit tests check that the
    correct node list and versions are returned.
    dakrone authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    cf1d481 View commit details
    Browse the repository at this point in the history
  14. Correctly list blobs in Azure storage to prevent snapshot corruption …

    …and do not unnecessarily duplicate Lucene segments in Azure Storage
    
    This commit addresses an issue that was leading to snapshot corruption for snapshots stored as blobs in Azure Storage.
    
    The underlying issue is that in cases when multiple snapshots of an index were taken and persisted into Azure Storage, snapshots subsequent
    to the first would repeatedly overwrite the snapshot files. This issue does render useless all snapshots except the final snapshot.
    
    The root cause of this is due to String concatenation involving null. In particular, to list all of the blobs in a snapshot directory in
    Azure the code would use the method listBlobsByPrefix where the prefix is null. In the listBlobsByPrefix method, the path keyPath + prefix
    is constructed. However, per 5.1.11, 5.4 and 15.18.1 of the Java Language Specification, the reference null is first converted to the string
    "null" before performing the concatenation. This leads to no blobs being returned and therefore the snapshot mechanism would operate as if
    it were writing the first snapshot of the index. The fix is simply to check if prefix is null and handle the concatenation accordingly.
    
    Upon fixing this issue so that subsequent snapshots would no longer overwrite earlier snapshots, it was discovered that the snapshot metadata
    returned by the listBlobsByPrefix method was not sufficient for the snapshot layer to detect whether or not the Lucene segments had already
    been copied to the Azure storage layer in an earlier snapshot. This led the snapshot layer to unnecessarily duplicate these Lucene segments
    in Azure Storage.
    
    The root cause of this is due to known behavior in the CloudBlobContainer.getBlockBlobReference method in the Azure API. Namely, this method
    does not fetch blob attributes from Azure. As such, the lengths of all the blobs appeared to the snapshot layer to be of length zero and
    therefore they would compare as not equal to any new blobs that the snapshot layer is going to persist. To remediate this, the method
    CloudBlockBlob.downloadAttributes must be invoked. This will fetch the attributes from Azure Storage so that a proper comparison of the
    blobs can be performed.
    
    Closes elastic/elasticsearch-cloud-azure#51, closes elastic/elasticsearch-cloud-azure#99
    jasontedor authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    94609fc View commit details
    Browse the repository at this point in the history
  15. Replica allocator unit tests

    First batch of unit tests to verify the behavior of replica allocator
    kimchy authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    4ac68bb View commit details
    Browse the repository at this point in the history
  16. Ignore EngineClosedException during translog fysnc

    When performing an operation on a primary, the state is captured and the
    operation is performed on the primary shard. The original request is
    then modified to increment the version of the operation as preparation
    for it to be sent to the replicas.
    
    If the request first fails on the primary during the translog sync
    (because the Engine is already closed due to shadow primaries closing
    the engine on relocation), then the operation is retried on the new primary
    after being modified for the replica shards. It will then fail due to the
    version being incorrect (the document does not yet exist but the request
    expects a version of "1").
    
    Order of operations:
    
    - Request is executed against primary
    - Request is modified (version incremented) so it can be sent to replicas
    - Engine's translog is fsync'd if necessary (failing, and throwing an exception)
    - Modified request is retried against new primary
    
    This change ignores the exception where the engine is already closed
    when syncing the translog (similar to how we ignore exceptions when
    refreshing the shard if the ?refresh=true flag is used).
    dakrone authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    f0f5a1e View commit details
    Browse the repository at this point in the history
  17. [TEST] Verify expected number of nodes in cluster before issuing shar…

    …dStores request
    areek authored and rmuir committed Jul 22, 2015
    Copy the full SHA
    ad59af4 View commit details
    Browse the repository at this point in the history
  18. Copy the full SHA
    c992293 View commit details
    Browse the repository at this point in the history
  19. fix test

    rmuir committed Jul 22, 2015
    Copy the full SHA
    017b341 View commit details
    Browse the repository at this point in the history
  20. remove test

    rmuir committed Jul 22, 2015
    Copy the full SHA
    c7febd8 View commit details
    Browse the repository at this point in the history
  21. fix test

    rmuir committed Jul 22, 2015
    Copy the full SHA
    df63ccc View commit details
    Browse the repository at this point in the history
  22. Copy the full SHA
    9f3afad View commit details
    Browse the repository at this point in the history
  23. rename to classname

    rmuir committed Jul 22, 2015
    Copy the full SHA
    04463ae View commit details
    Browse the repository at this point in the history
  24. fix loading to use classname

    rmuir committed Jul 22, 2015
    Copy the full SHA
    550e73b View commit details
    Browse the repository at this point in the history
  25. remove test with no methods

    rmuir committed Jul 22, 2015
    Copy the full SHA
    07ae396 View commit details
    Browse the repository at this point in the history
  26. Copy the full SHA
    19aef2f View commit details
    Browse the repository at this point in the history
  27. Copy the full SHA
    4a9b5b4 View commit details
    Browse the repository at this point in the history
  28. Remove duplicated constant

    rjernst committed Jul 22, 2015
    Copy the full SHA
    3511a9c View commit details
    Browse the repository at this point in the history
  29. Copy the full SHA
    9453c41 View commit details
    Browse the repository at this point in the history