MCPcopy Create free account
hub / github.com/apache/impala / CallJniMethod

Function CallJniMethod

be/src/exec/external-data-source-executor.cc:176–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

174// TODO: Understand what's happening, remove, and use JniUtil::CallJniMethod
175template <typename T, typename R>
176Status CallJniMethod(const jobject& obj, const jmethodID& method, const T& arg,
177 R* response) {
178 JNIEnv* jni_env = JniUtil::GetJNIEnv();
179 jbyteArray request_bytes;
180 JniLocalFrame jni_frame;
181 RETURN_IF_ERROR(jni_frame.push(jni_env));
182 RETURN_IF_ERROR(SerializeThriftMsg(jni_env, &arg, &request_bytes));
183 jbyteArray result_bytes = static_cast<jbyteArray>(
184 jni_env->CallObjectMethod(obj, method, request_bytes));
185 RETURN_ERROR_IF_EXC(jni_env);
186 RETURN_IF_ERROR(DeserializeThriftMsg(jni_env, result_bytes, response));
187 return Status::OK();
188}
189
190Status ExternalDataSourceExecutor::Open(const TOpenParams& params, TOpenResult* result) {
191 DCHECK(is_initialized_);

Callers 15

ResolveRequestPoolMethod · 0.85
GetPoolConfigMethod · 0.85
GetHadoopGroupsMethod · 0.85
UpdateCatalogCacheMethod · 0.85
DescribeDbMethod · 0.85
DescribeTableMethod · 0.85
ShowCreateTableMethod · 0.85
ShowCreateFunctionMethod · 0.85
GetCatalogMetricsMethod · 0.85
GetTableNamesMethod · 0.85
GetMetadataTableNamesMethod · 0.85

Calls 4

SerializeThriftMsgFunction · 0.85
OKFunction · 0.85
pushMethod · 0.80
DeserializeThriftMsgFunction · 0.50

Tested by

no test coverage detected