-
Notifications
You must be signed in to change notification settings - Fork 13
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
Cannot create executor-driver with expected initialization #8
Comments
I don't have a complete understanding of mesomatic internals yet, and I'm not sure how closely its behaviours are aiming to match the Java lib's, but:
|
I've just changed the mesomatic in my project's (defn executor-driver
[executor]
(let [d (MesosExecutorDriver. executor)]
(reify ExecutorDriver
(abort! [this]
(pb->data (.abort d)))
(join! [this]
(pb->data (.join d)))
(run-driver! [this]
(pb->data (.run d)))
(send-framework-message! [this data]
(pb->data (.sendFrameworkMessage d data)))
(send-status-update! [this status]
(pb->data (.sendStatusUpdate d (data->pb status))))
(start! [this]
(pb->data (.start d)))
(stop! [this]
(pb->data (.stop d)))))) Using this in the REPL produced a successful driver creation: (def ch (chan))
(def exctr (async-executor/executor ch))
(executor/executor-driver exctr) #object[mesomatic.executor$executor_driver$reify__9890 0x6fe33722
"mesomatic.executor$executor_driver$reify__9890@6fe33722"] However! I haven't tried to use this yet, and I have no idea if this change impacts anything else in this library (or projects using this library that might expect the existing behaviour). I will submit a PR for this small change which can get updated according to your feedback/corrections. |
This is a risky change, as other code/projects may depend upon the old behaviour. This addresses issue clojusc#8, but may need more work (depending upon impact).
This is a risky change, as other code/projects may depend upon the old behaviour. This addresses issue clojusc#8, but may need more work (depending upon impact).
Quick note: such that it is, my sample command-line executor (using |
This is a risky change, as other code/projects may depend upon the old behaviour. This addresses issue clojusc#8, but may need more work (depending upon impact).
This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue clojusc#8, but may need more work (depending upon impact).
#9) * Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered.
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added import for operation and its constants. * Added pb->data for Operation types. * Added Operatoin record and pb->data method. * Added pb->data for operation types. * Finished first draft of #11. * Added missing imports.
The fix for this has been merged 😄 |
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added import for operation and its constants. * Added pb->data for Operation types. * Added Operatoin record and pb->data method. * Added pb->data for operation types. * Finished first draft of #11. * Added missing imports. * Added accept-offers method.
This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue clojusc#8, but may need more work (depending upon impact).
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added missing TaskStatus reason constants.
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Fixed the direction of conversion. Also updated the method name for getting object attributes. * Status updates take (->pb :TaskStatus ...), so no need for conversion. There may be a better way to do that, though ...
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added missing source fields for data->pb.
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added support for implicit-acknowledgements argument.
* Mirror the behaviour of the Java library. This may be a risky change, as other code/projects could theoretically depend upon the old behaviour (I'm pretty sure it was broken, regardless). This addresses issue #8, but may need more work (depending upon impact). * Updated method names to match current Proto.java. * Fixed typo (:driver -> driver) in reregistered. * Added acknowledge-status-update and suppress-offers methods. * Fixed bad arg (should be the driver, not the implementation).
When attempting to create a mesomatic executor driver like so:
the following error occurs:
Double-checking this, I found that:
org.apache.mesos.MesosExecutorDriver.java
expects an instance oforg.apache.mesos.Executor
during initmesomatic.executor/executor-driver
seems to expect a map thatMesosExectorDriver
's initThe text was updated successfully, but these errors were encountered: