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

[Proposal] Plugins Migration: ODFE Plugins as First Class OpenSearch Plugins #159

Closed
1 of 2 tasks
saratvemulapalli opened this issue Mar 1, 2021 · 4 comments
Closed
1 of 2 tasks
Labels
discuss Issues intended to help drive brainstorming and decision making >FORK Related to the fork process Meta Meta issue, not directly linked to a PR

Comments

@saratvemulapalli
Copy link
Member

saratvemulapalli commented Mar 1, 2021

This issue proposes ODFE Plugins as first class OpenSearch plugins.
Also gives an outline for plugins on how to migrate to OpenSearch.

Starting with ODFE Anomaly Detection: https://github.com/opendistro-for-elasticsearch/anomaly-detection

Build:

  • Anomaly Detection plugin running with search
  • Anomaly Detection plugin running after rename.
@saratvemulapalli saratvemulapalli added >FORK Related to the fork process Meta Meta issue, not directly linked to a PR labels Mar 1, 2021
@saratvemulapalli saratvemulapalli self-assigned this Mar 2, 2021
@saratvemulapalli
Copy link
Member Author

saratvemulapalli commented Mar 2, 2021

Dependencies for Anomaly Detection Build:

  1. elasticsearch-rest-client
  2. elasticsearch-rest-client-sniffer
  3. elasticsearch-scripting-painless-spi
  4. framework (elasticsearch.test)
  5. elasticsearch (server)
  6. elasticsearch-cli
  7. elasticsearch-core
  8. elasticsearch-geo
  9. elasticsearch-nio
  10. elasticsearch-secure-sm
  11. elasticsearch-xcontent
  12. jna
  13. mocksocket
  14. build-tools (elasticsearch.gradle)
  15. ODFE Job Scheduler
  16. ODFE Common Utils

@saratvemulapalli
Copy link
Member Author

saratvemulapalli commented Mar 4, 2021

Anomaly Detection now builds successfully.
99% of the unit tests Pass.
83% of the integration tests are passing.

Rest of the tests are failing due to deserialization.
One of the test for stack trace:

 
com.amazon.opendistroforelasticsearch.ad.transport.DeleteIT > testNormalDeleteModel FAILED
    TransportSerializationException[Failed to deserialize response from handler [org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler/org.elasticsearch.action.ActionListenerResponseHandler@5f4e3d61/org.elasticsearch.client.transport.TransportClientNodesService$RetryListener@1061ca87]]; nested: IllegalStateException[unexpected byte [0x1b]];
        at __randomizedtesting.SeedInfo.seed([2CBF880AA3DE5F46:A7AC6F8C780237CB]:0)
        at org.elasticsearch.transport.InboundHandler.handleResponse(InboundHandler.java:237)
        at org.elasticsearch.transport.InboundHandler.messageReceived(InboundHandler.java:133)
        at org.elasticsearch.transport.InboundHandler.inboundMessage(InboundHandler.java:89)
        at org.elasticsearch.transport.TcpTransport.inboundMessage(TcpTransport.java:700)
        at org.elasticsearch.transport.InboundPipeline.forwardFragments(InboundPipeline.java:142)
        at org.elasticsearch.transport.InboundPipeline.doHandleBytes(InboundPipeline.java:117)
        at org.elasticsearch.transport.InboundPipeline.handleBytes(InboundPipeline.java:82)
        at org.elasticsearch.transport.nio.MockNioTransport$MockTcpReadWriteHandler.consumeReads(MockNioTransport.java:296)
        at org.elasticsearch.nio.SocketChannelContext.handleReadBytes(SocketChannelContext.java:228)
        at org.elasticsearch.nio.BytesChannelContext.read(BytesChannelContext.java:40)
        at org.elasticsearch.nio.EventHandler.handleRead(EventHandler.java:139)
        at org.elasticsearch.transport.nio.TestEventHandler.handleRead(TestEventHandler.java:151)
        at org.elasticsearch.nio.NioSelector.handleRead(NioSelector.java:420)
        at org.elasticsearch.nio.NioSelector.processKey(NioSelector.java:246)
        at org.elasticsearch.nio.NioSelector.singleLoop(NioSelector.java:174)
        at org.elasticsearch.nio.NioSelector.runLoop(NioSelector.java:131)
        at java.base/java.lang.Thread.run(Thread.java:832)
 
        Caused by:
        java.lang.IllegalStateException: unexpected byte [0x1b]
            at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:575)
            at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:565)
            at org.elasticsearch.Build.readBuild(Build.java:200)
            at org.elasticsearch.action.admin.cluster.node.info.NodeInfo.<init>(NodeInfo.java:69)
            at org.elasticsearch.common.io.stream.StreamInput.readCollection(StreamInput.java:1220)
            at org.elasticsearch.common.io.stream.StreamInput.readList(StreamInput.java:1170)
            at org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse.readNodesFrom(NodesInfoResponse.java:58)
            at org.elasticsearch.action.support.nodes.BaseNodesResponse.<init>(BaseNodesResponse.java:44)
            at org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse.<init>(NodesInfoResponse.java:49)
            at org.elasticsearch.action.ActionListenerResponseHandler.read(ActionListenerResponseHandler.java:69)
            at org.elasticsearch.action.ActionListenerResponseHandler.read(ActionListenerResponseHandler.java:36)
            at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.read(TransportService.java:1162)
            at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.read(TransportService.java:1149)
            at org.elasticsearch.transport.InboundHandler.handleResponse(InboundHandler.java:234)

@saratvemulapalli
Copy link
Member Author

Sent out a fix: #218
Anomaly Detection now passes all integration tests and unit tests.

vemsarat@ad % ./gradlew build
=======================================
Elasticsearch Build Hamster says Hello!
  Gradle Version        : 6.6.1
  OS Info               : Mac OS X 10.15.7 (x86_64)
  JDK Version           : 14 (Oracle JDK)
  JAVA_HOME             : /Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home
  Random Testing Seed   : CB424AB80CA74345
  In FIPS 140 mode      : false
=======================================
BUILD SUCCESSFUL in 6m 32s
28 actionable tasks: 12 executed, 16 up-to-date

@saratvemulapalli saratvemulapalli changed the title Plugin integration with fork [Proposal] Plugins Migration: ODFE Plugins as First Class OpenSearch Plugins Mar 23, 2021
@saratvemulapalli saratvemulapalli added the discuss Issues intended to help drive brainstorming and decision making label Mar 23, 2021
@saratvemulapalli
Copy link
Member Author

Closing this as all the plugins are now running with 1.0.0-beta1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Issues intended to help drive brainstorming and decision making >FORK Related to the fork process Meta Meta issue, not directly linked to a PR
Projects
None yet
Development

No branches or pull requests

1 participant