@@ -42,23 +42,23 @@ static jfieldID QatCompressor_uncompressedDirectBufLen;
4242static jfieldID QatCompressor_compressedDirectBuf ;
4343static jfieldID QatCompressor_directBufferSize ;
4444
45- __thread QzSession g_qzCompressSession = {
45+ __thread QzSession_T g_qzCompressSession = {
4646 .internal = NULL ,
4747};
4848
4949#ifdef UNIX
50- unsigned char * (* dlsym_qzMalloc )(int , int , int );
51- static int (* dlsym_qzCompress )(QzSession * sess , const unsigned char * src ,
50+ unsigned char * (* dlsym_qzMalloc )(int , int , int );
51+ static int (* dlsym_qzCompress )(QzSession_T * sess , const unsigned char * src ,
5252 unsigned int * src_len , unsigned char * dest , unsigned int * dest_len ,
5353 unsigned int last );
54+ int (* dlsym_qzGetDefaults )(QzSessionParams_T * defaults );
55+ int (* dlsym_qzSetDefaults )(QzSessionParams_T * defaults );
5456#endif
5557
56- //QzSession sess;
57- QzSessionParams params ;
5858JNIEXPORT void JNICALL Java_org_apache_hadoop_io_compress_qat_QatCompressor_initIDs
5959(JNIEnv * env , jclass clazz , jint level ){
60+ QzSessionParams_T params ;
6061#ifdef UNIX
61-
6262 // Load libqatzip.so
6363 void * libqatzip = dlopen ("libqatzip.so" , RTLD_LAZY | RTLD_GLOBAL );
6464 if (!libqatzip ) {
@@ -74,6 +74,8 @@ JNIEXPORT void JNICALL Java_org_apache_hadoop_io_compress_qat_QatCompressor_init
7474 dlerror (); // Clear any existing error
7575 LOAD_DYNAMIC_SYMBOL (dlsym_qzCompress , env , libqatzip , "qzCompress" );
7676 LOAD_DYNAMIC_SYMBOL (dlsym_qzMalloc , env , libqatzip , "qzMalloc" );
77+ LOAD_DYNAMIC_SYMBOL (dlsym_qzGetDefaults , env , libqatzip , "qzGetDefaults" );
78+ LOAD_DYNAMIC_SYMBOL (dlsym_qzSetDefaults , env , libqatzip , "qzSetDefaults" );
7779#endif
7880
7981 QatCompressor_clazz = (* env )-> GetStaticFieldID (env , clazz , "clazz" ,
@@ -88,10 +90,10 @@ JNIEXPORT void JNICALL Java_org_apache_hadoop_io_compress_qat_QatCompressor_init
8890 "Ljava/nio/Buffer;" );
8991 QatCompressor_directBufferSize = (* env )-> GetFieldID (env , clazz ,
9092 "directBufferSize" , "I" );
91- qzGetDefaults (& params );
92- params .compLvl = level ;
93+ dlsym_qzGetDefaults (& params );
94+ params .comp_lvl = level ;
9395 fprintf (stderr , "compression level is %d, tid is %d\n" , level , syscall (__NR_gettid ));
94- qzSetDefaults (& params );
96+ dlsym_qzSetDefaults (& params );
9597}
9698
9799JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_qat_QatCompressor_compressBytesDirect
@@ -132,7 +134,7 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_qat_QatCompressor_comp
132134 ret = dlsym_qzCompress (& g_qzCompressSession , uncompressed_bytes , & src_len ,
133135 compressed_bytes , & buf_len , 1 );
134136 if (ret != QZ_OK ){
135- THROW (env , "java/lang/InternalError" , "Could not compress data. Buffer length is too small." );
137+ THROW (env , "java/lang/InternalError" , "Could not compress data, return " + ret );
136138 return 0 ;
137139 }
138140 if (buf_len > JINT_MAX ) {
@@ -170,10 +172,10 @@ Java_org_apache_hadoop_io_compress_qat_QatCompressor_getLibraryName(JNIEnv *env,
170172#endif
171173}
172174
173- JNIEXPORT jobject JNICALL
175+ JNIEXPORT jobject JNICALL
174176Java_org_apache_hadoop_io_compress_qat_QatCompressor_nativeAllocateBB (JNIEnv * env ,
175177 jobject obj , jlong capacity , jboolean numa , jboolean force_pinned ){
176- //void *buf = dlsym_qat_malloc(capacity);
178+ //void *buf = dlsym_qat_malloc(capacity);
177179//printf("compressor: DBB address is 0x%lx\n",(unsigned long)buf);
178180//fflush(stdout);
179181// return (*env)->NewDirectByteBuffer(env, buf, capacity);
0 commit comments