[ https://issues.apache.org/jira/browse/MESOS-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chengwei Yang closed MESOS-1804. -------------------------------- Resolution: Duplicate > the "store" component cause on-top framework (chronos) crash > ------------------------------------------------------------ > > Key: MESOS-1804 > URL: https://issues.apache.org/jira/browse/MESOS-1804 > Project: Mesos > Issue Type: Bug > Environment: mesos-0.19.0 > Reporter: Chengwei Yang > Assignee: Chengwei Yang > > chronos running with mesos-0.19.0 may crash like below. > {code} > [2014-09-05 15:21:36,095] INFO State J_chronos_job_34 does not exist yet. > Adding to state (com.airbnb.scheduler.state.MesosStatePersistenceStore:146) > F0905 15:21:36.175230 27727 org_apache_mesos_state_AbstractState.cpp:319] > Check failed: future->isReady() > *** Check failure stack trace: *** > @ 0x7f4f1ecb199d google::LogMessage::Fail() > @ 0x7f4f1ecb59b7 google::LogMessage::SendToLog() > @ 0x7f4f1ecb3839 google::LogMessage::Flush() > @ 0x7f4f1ecb3b3d google::LogMessageFatal::~LogMessageFatal() > @ 0x7f4f1ec2ef90 Java_org_apache_mesos_state_AbstractState__1_1store_1get > @ 0x7f4f18293d45 (unknown) > Aborted (core dumped) > {code} > The related code snippet as below: > {code} > $ sed -ne '311,334p' src/java/jni/org_apache_mesos_state_AbstractState.cpp > JNIEXPORT jobject JNICALL > Java_org_apache_mesos_state_AbstractState__1_1store_1get > (JNIEnv* env, jobject thiz, jlong jfuture) > { > Future<Option<Variable> >* future = (Future<Option<Variable> >*) jfuture; > future->await(); > if (future->isFailed()) { > jclass clazz = env->FindClass("java/util/concurrent/ExecutionException"); > env->ThrowNew(clazz, future->failure().c_str()); > return NULL; > } else if (future->isDiscarded()) { > // TODO(benh): Consider throwing an ExecutionException since we > // never return true for 'isCancelled'. > jclass clazz = > env->FindClass("java/util/concurrent/CancellationException"); > env->ThrowNew(clazz, "Future was discarded"); > return NULL; > } > CHECK_READY(*future); > if (future->get().isSome()) { > Variable* variable = new Variable(future->get().get()); > {code} > The root cause seems that CHECK_READY(*future) failed and crashed chronos. > See chronos issue: https://github.com/airbnb/chronos/issues/253 -- This message was sent by Atlassian JIRA (v6.3.4#6332)