Skip to content

fix broken build flag, move build to one directory #2442

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

Merged

Conversation

sam-herman
Copy link
Contributor

Description

Addresses a bug and house cleaning during build.

  1. Cmake has invalid syntax in if condition causing this message:
CMake Error at cmake/init-faiss.cmake:114 (if):
  if given arguments:

    "AND" "NOT" "" "STREQUAL" ""

  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:107 (include)
  1. Move all build artifacts created into a build directory following conventional build standards. Currently there are multiple temporary artifacts generated by cmake which are scattered under jni directory.

Related Issues

Resolves #[Issue number to be closed when this PR is merged]

Check List

  • [ x] New functionality includes testing.
  • [x ] New functionality has been documented.
  • [x ] API changes companion pull request created.
  • [ x] Commits are signed per the DCO using --signoff.
  • [ x] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@sam-herman
Copy link
Contributor Author

@navneet1v @vamshin @jmazanec15 can someone review this fix? Also, I am not sure why the 2 BWC checks are failing and can't re-run the workflows to get them to see if it's a transient things. Can you help me try re-running those?

@navneet1v
Copy link
Collaborator

@navneet1v @vamshin @jmazanec15 can someone review this fix? Also, I am not sure why the 2 BWC checks are failing and can't re-run the workflows to get them to see if it's a transient things. Can you help me try re-running those?

Triggered a re run.

@navneet1v
Copy link
Collaborator

@sam-herman can you rebase your code from main and then we can trigger a run again. I see some changes have been made in main branch which fixes some issues.

@sam-herman sam-herman force-pushed the fix-syntax-typo-breaking-build branch from 25c356a to 53943ec Compare January 28, 2025 22:34
@sam-herman
Copy link
Contributor Author

@sam-herman can you rebase your code from main and then we can trigger a run again. I see some changes have been made in main branch which fixes some issues.

@navneet1v looks like after the rebase there are even more tests failing, including some of the non-bwc ones. maybe try re-run to check if it's transient?

@navneet1v
Copy link
Collaborator

@sam-herman i think for main branch since 3.0 is in progress there are a lot of breaking changes.

@navneet1v
Copy link
Collaborator

Tagging 3.0 release owner here to know when the main branch will be stable since a lot of prs are struck.

@Vikasht34

@@ -111,10 +111,10 @@ endif()
if(NOT DEFINED AVX512_SPR_ENABLED)
# Check if the system is Intel(R) Sapphire Rapids or a newer-generation processor
execute_process(COMMAND bash -c "lscpu | grep -q 'GenuineIntel' && lscpu | grep -i 'avx512_fp16' | grep -i 'avx512_bf16' | grep -i 'avx512_vpopcntdq'" OUTPUT_VARIABLE SPR_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
if (AND NOT "${SPR_FLAGS}" STREQUAL "")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch @sam-herman . @mulugetam Can you check this and make sure this change makes sense?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a valid change. I fixed it in 2.x and 2.19 but somehow missed backporting it to main

@@ -333,7 +333,7 @@ task cmakeJniLib(type:Exec) {
workingDir 'jni'
def args = []
args.add("cmake")
args.add(".")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good update. This makes cleaning some much easier. That being said, in the buildJniLib, instead of changing workingDir, can we just do:

make -Cbuild

I worry if we add "/" we might end up having issues with path resolution on different platforms (unless gradle handles this for us)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure - think thats fine

@jmazanec15
Copy link
Member

thanks @sam-herman. main is messed up right now due to lucene upgrade. On other PRs, weve been developing directly on 2.x and backporting to main to unblock (#2438 )

@sam-herman
Copy link
Contributor Author

@navneet1v @Vikasht34 Any updates on fixes to BWC and integ tests?

@Vikasht34
Copy link
Collaborator

@sam-herman , Tentative changes to be merged in main by End of Next week .

@jmazanec15
Copy link
Member

@sam-herman I think this looks good - if you want to expedite, you can change branch merging to to 2.x and then we can backport to main.

Signed-off-by: Samuel Herman <[email protected]>
Signed-off-by: Samuel Herman <[email protected]>
@sam-herman sam-herman requested a review from Vikasht34 as a code owner February 7, 2025 18:41
@sam-herman sam-herman force-pushed the fix-syntax-typo-breaking-build branch from f09882e to 0b86cea Compare February 7, 2025 23:51
@sam-herman sam-herman force-pushed the fix-syntax-typo-breaking-build branch from 0b86cea to dd9a595 Compare February 7, 2025 23:52
Signed-off-by: Samuel Herman <[email protected]>
@sam-herman
Copy link
Contributor Author

@jmazanec15 @navneet1v I added a couple of fixes for issues I just spotted in main:

  1. I noticed that recently after changes on main the build fails on :buildJni by failing to find cmake and make unless used with full path. I added a fix in the gradle.build to auto find the full path and use it in the args.
  2. There was a classpath change for org.opensearch.client to org.opensearch.transport that broke compilation.

Everything is building now locally and working fine, however now all the integ tests of the build in the GitHub workflow seems to be failing to start a cluster even though it all works and passes locally. Do you know what could be the reason?

@jmazanec15
Copy link
Member

@sam-herman From https://productionresultssa3.blob.core.windows.net/actions-results/181b3bc8-6d78-4be2-850b-157d78dc8cab/workflow-job-run-189e3ba7-4a1d-5257-bc22-4748799b99b3/logs/job/job-logs.txt?rsct=text%2Fplain&se=2025-02-10T16%3A39%3A47Z&sig=L0VyXZ3q6KC9fYlzYh5SqUaL0lv9fSCAbTzI6vHkMWM%3D&ske=2025-02-11T04%3A09%3A32Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2025-02-10T16%3A09%3A32Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-01-05&sp=r&spr=https&sr=b&st=2025-02-10T16%3A29%3A42Z&sv=2025-01-05, Im seeing a link issue.

@naveentatikonda Do you know what might be causing this?

2025-02-08T00:05:22.9855510Z »  WARNING: System::setSecurityManager will be removed in a future release
2025-02-08T00:05:22.9855736Z »  fatal error in thread [opensearch[integTest-0][refresh][T#1]], exiting
2025-02-08T00:05:22.9856155Z »  java.lang.UnsatisfiedLinkError: no opensearchknn_faiss_avx2 in java.library.path: /__w/k-NN/k-NN/jni/release
2025-02-08T00:05:22.9856506Z »  	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2458)
2025-02-08T00:05:22.9857038Z »  	at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
2025-02-08T00:05:22.9857433Z »  	at java.base/java.lang.System.loadLibrary(System.java:2063)
2025-02-08T00:05:22.9857940Z »  	at org.opensearch.knn.jni.FaissService.lambda$static$0(FaissService.java:52)
2025-02-08T00:05:22.9858424Z »  	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
2025-02-08T00:05:22.9858676Z »  	at org.opensearch.knn.jni.FaissService.<clinit>(FaissService.java:42)
2025-02-08T00:05:22.9858910Z »  	at org.opensearch.knn.jni.JNIService.initIndex(JNIService.java:49)
2025-02-08T00:05:22.9859567Z »  	at org.opensearch.knn.index.codec.nativeindex.MemOptimizedNativeIndexBuildStrategy.lambda$buildAndWriteIndex$0(MemOptimizedNativeIndexBuildStrategy.java:63)
2025-02-08T00:05:22.9859861Z »  	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
2025-02-08T00:05:22.9860887Z »  	at org.opensearch.knn.index.codec.nativeindex.MemOptimizedNativeIndexBuildStrategy.buildAndWriteIndex(MemOptimizedNativeIndexBuildStrategy.java:62)
2025-02-08T00:05:22.9861762Z »  	at org.opensearch.knn.index.codec.nativeindex.NativeIndexWriter.buildAndWriteIndex(NativeIndexWriter.java:149)
2025-02-08T00:05:22.9862577Z »  	at org.opensearch.knn.index.codec.nativeindex.NativeIndexWriter.flushIndex(NativeIndexWriter.java:104)
2025-02-08T00:05:22.9863784Z »  	at org.opensearch.knn.index.codec.KNN990Codec.NativeEngines990KnnVectorsWriter.flush(NativeEngines990KnnVectorsWriter.java:122)
2025-02-08T00:05:22.9864840Z »  	at org.apache.lucene.codecs.perfield.PerFieldKnnVectorsFormat$FieldsWriter.flush(PerFieldKnnVectorsFormat.java:120)
2025-02-08T00:05:22.9865462Z »  	at org.apache.lucene.index.VectorValuesConsumer.flush(VectorValuesConsumer.java:76)
2025-02-08T00:05:22.9865932Z »  	at org.apache.lucene.index.IndexingChain.flush(IndexingChain.java:305)
2025-02-08T00:05:22.9866479Z »  	at org.apache.lucene.index.DocumentsWriterPerThread.flush(DocumentsWriterPerThread.java:456)
2025-02-08T00:05:22.9866993Z »  	at org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:502)
2025-02-08T00:05:22.9867526Z »  	at org.apache.lucene.index.DocumentsWriter.maybeFlush(DocumentsWriter.java:456)
2025-02-08T00:05:22.9868128Z »  	at org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:649)
2025-02-08T00:05:22.9868815Z »  	at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:578)
2025-02-08T00:05:22.9869776Z »  	at org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:382)
2025-02-08T00:05:22.9870558Z »  	at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:356)
2025-02-08T00:05:22.9871327Z »  	at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:346)
2025-02-08T00:05:22.9872002Z »  	at org.apache.lucene.index.FilterDirectoryReader.doOpenIfChanged(FilterDirectoryReader.java:112)
2025-02-08T00:05:22.9872599Z »  	at org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:170)
2025-02-08T00:05:22.9873613Z »  	at org.opensearch.index.engine.OpenSearchReaderManager.refreshIfNeeded(OpenSearchReaderManager.java:72)
2025-02-08T00:05:22.9874544Z »  	at org.opensearch.index.engine.OpenSearchReaderManager.refreshIfNeeded(OpenSearchReaderManager.java:52)
2025-02-08T00:05:22.9875140Z »  	at org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167)
2025-02-08T00:05:22.9875826Z »  	at org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking(ReferenceManager.java:240)
2025-02-08T00:05:22.9876584Z »  	at org.opensearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:433)
2025-02-08T00:05:22.9877335Z »  	at org.opensearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:413)
2025-02-08T00:05:22.9877923Z »  	at org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167)
2025-02-08T00:05:22.9878757Z »  	at org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking(ReferenceManager.java:240)
2025-02-08T00:05:22.9879290Z »  	at org.opensearch.index.engine.InternalEngine.refresh(InternalEngine.java:1795)
2025-02-08T00:05:22.9879823Z »  	at org.opensearch.index.engine.InternalEngine.refresh(InternalEngine.java:1772)
2025-02-08T00:05:22.9880278Z »  	at org.opensearch.index.shard.IndexShard.refresh(IndexShard.java:1400)
2025-02-08T00:05:22.9881411Z »  	at org.opensearch.action.admin.indices.refresh.TransportShardRefreshAction.lambda$shardOperationOnPrimary$0(TransportShardRefreshAction.java:101)
2025-02-08T00:05:22.9882016Z »  	at org.opensearch.core.action.ActionListener.completeWith(ActionListener.java:344)
2025-02-08T00:05:22.9883131Z »  	at org.opensearch.action.admin.indices.refresh.TransportShardRefreshAction.shardOperationOnPrimary(TransportShardRefreshAction.java:100)
2025-02-08T00:05:22.9884413Z »  	at org.opensearch.action.admin.indices.refresh.TransportShardRefreshAction.shardOperationOnPrimary(TransportShardRefreshAction.java:57)
2025-02-08T00:05:22.9885976Z »  	at org.opensearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:1333)
2025-02-08T00:05:22.9886868Z »  	at org.opensearch.action.support.replication.ReplicationOperation.execute(ReplicationOperation.java:150)
2025-02-08T00:05:22.9888126Z »  	at org.opensearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.runWithPrimaryShardReference(TransportReplicationAction.java:654)
2025-02-08T00:05:22.9889288Z »  	at org.opensearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.lambda$doRun$0(TransportReplicationAction.java:547)
2025-02-08T00:05:22.9889841Z »  	at org.opensearch.core.action.ActionListener$1.onResponse(ActionListener.java:82)
2025-02-08T00:05:22.9890605Z »  	at org.opensearch.index.shard.IndexShard.lambda$wrapPrimaryOperationPermitListener$36(IndexShard.java:4185)
2025-02-08T00:05:22.9891129Z »  	at org.opensearch.core.action.ActionListener$3.onResponse(ActionListener.java:132)
2025-02-08T00:05:22.9891859Z »  	at org.opensearch.index.shard.IndexShardOperationPermits.acquire(IndexShardOperationPermits.java:310)
2025-02-08T00:05:22.9892585Z »  	at org.opensearch.index.shard.IndexShardOperationPermits.acquire(IndexShardOperationPermits.java:255)
2025-02-08T00:05:22.9893587Z »  	at org.opensearch.index.shard.IndexShard.acquirePrimaryOperationPermit(IndexShard.java:4156)
2025-02-08T00:05:22.9894822Z »  	at org.opensearch.action.support.replication.TransportReplicationAction.acquirePrimaryOperationPermit(TransportReplicationAction.java:1262)
2025-02-08T00:05:22.9895787Z »  	at org.opensearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.doRun(TransportReplicationAction.java:544)
2025-02-08T00:05:22.9896432Z »  	at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)
2025-02-08T00:05:22.9897492Z »  	at org.opensearch.action.support.replication.TransportReplicationAction.handlePrimaryRequest(TransportReplicationAction.java:483)
2025-02-08T00:05:22.9898593Z »  	at org.opensearch.wlm.WorkloadManagementTransportInterceptor$RequestHandler.messageReceived(WorkloadManagementTransportInterceptor.java:63)
2025-02-08T00:05:22.9899589Z »  	at org.opensearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:108)
2025-02-08T00:05:22.9900160Z »  	at org.opensearch.transport.TransportService$7.doRun(TransportService.java:1048)
2025-02-08T00:05:22.9901045Z »  	at org.opensearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:994)
2025-02-08T00:05:22.9901652Z »  	at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)
2025-02-08T00:05:22.9902304Z »  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
2025-02-08T00:05:22.9902911Z »  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
2025-02-08T00:05:22.9903642Z »  	at java.base/java.lang.Thread.run(Thread.java:1583)
2025-02-08T00:05:22.9903657Z 

}

task buildJniLib(type:Exec) {
dependsOn cmakeJniLib
workingDir 'jni'
commandLine 'make', 'opensearchknn_nmslib', 'opensearchknn_faiss', 'opensearchknn_common', '-j', "${nproc_count}"
def outputStream = new ByteArrayOutputStream()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we move this block of code from line 376 to 393 into a separate gradle task like makeJniLib ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let me refactor that part, I think I can completely avoid the outputStream and just pull from System.getEnv

@sam-herman
Copy link
Contributor Author

sam-herman commented Feb 10, 2025

2025-02-08T00:05:22.9855736Z » fatal error in thread [opensearch[integTest-0][refresh][T#1]], exiting
2025-02-08T00:05:22.9856155Z » java.lang.UnsatisfiedLinkError: no opensearchknn_faiss_avx2 in java.library.path: /__w/k-NN/k-NN/jni/release

@jmazanec15 I think I see the issue:
integTest is setting property that looking at systemProperty("java.library.path", "$rootDir/jni/release") instead of systemProperty("java.library.path", "$rootDir/jni/build/release"). I am changing that and hopefully it would fix it.

@naveentatikonda
Copy link
Member

2025-02-08T00:05:22.9855736Z » fatal error in thread [opensearch[integTest-0][refresh][T#1]], exiting
2025-02-08T00:05:22.9856155Z » java.lang.UnsatisfiedLinkError: no opensearchknn_faiss_avx2 in java.library.path: /__w/k-NN/k-NN/jni/release

@jmazanec15 I think I see the issue: integTest is setting property that looking at systemProperty("java.library.path", "$rootDir/jni/release") instead of systemProperty("java.library.path", "$rootDir/jni/build/release"). I am changing that and hopefully it would fix it.

@sam-herman Yes, it could be the reason. But, does building the libraries inside build directory doesn't show the build progress and which libraries are being built in the logs ? If it doesn't show the build progress in the logs can we add a ls command on jni/build/release after running make to check which JNI libraries were built and to be specific which version of faiss library is built.

> Task :validatePluginZipPom
> Task :validatePom

> Task :cmakeJniLib
CMake path: /usr/local/bin/cmake
Java home directory used by gradle: /__t/Java_Temurin-Hotspot_jdk/23.0.2-7/x64

> Task :buildJniLib
Make path: /usr/bin/make

> Task :spotlessInternalRegisterDependencies
> Task :spotlessJava
> Task :spotlessJavaCheck
> Task :spotlessCheck

@sam-herman
Copy link
Contributor Author

2025-02-08T00:05:22.9855736Z » fatal error in thread [opensearch[integTest-0][refresh][T#1]], exiting
2025-02-08T00:05:22.9856155Z » java.lang.UnsatisfiedLinkError: no opensearchknn_faiss_avx2 in java.library.path: /__w/k-NN/k-NN/jni/release

@jmazanec15 I think I see the issue: integTest is setting property that looking at systemProperty("java.library.path", "$rootDir/jni/release") instead of systemProperty("java.library.path", "$rootDir/jni/build/release"). I am changing that and hopefully it would fix it.

@sam-herman Yes, it could be the reason. But, does building the libraries inside build directory doesn't show the build progress and which libraries are being built in the logs ? If it doesn't show the build progress in the logs can we add a ls command on jni/build/release after running make to check which JNI libraries were built and to be specific which version of faiss library is built.

> Task :validatePluginZipPom
> Task :validatePom

> Task :cmakeJniLib
CMake path: /usr/local/bin/cmake
Java home directory used by gradle: /__t/Java_Temurin-Hotspot_jdk/23.0.2-7/x64

> Task :buildJniLib
Make path: /usr/bin/make

> Task :spotlessInternalRegisterDependencies
> Task :spotlessJava
> Task :spotlessJavaCheck
> Task :spotlessCheck

Yeah, I think there is another issue, I am able to repro locally now. It's because of the doLast blocks. I will remove those and will switch to simpler logic that doesn't try to use which and outputStream. it will fix it.

Signed-off-by: Samuel Herman <[email protected]>
@sam-herman
Copy link
Contributor Author

@jmazanec15 @naveentatikonda can you guys take a look at the latest changes?

Copy link
Member

@jmazanec15 jmazanec15 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Seems its breaking with:

2025-02-10T20:46:05.7887456Z »  /__t/Java_Temurin-Hotspot_jdk/21.0.6-7.0.LTS/x64/bin/java: symbol lookup error: /__w/k-NN/k-NN/jni/release/libopensearchknn_nmslib.so: undefined symbol: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev

which is unrelated. Approved

@sam-herman
Copy link
Contributor Author

Looks good to me. Seems its breaking with:

2025-02-10T20:46:05.7887456Z »  /__t/Java_Temurin-Hotspot_jdk/21.0.6-7.0.LTS/x64/bin/java: symbol lookup error: /__w/k-NN/k-NN/jni/release/libopensearchknn_nmslib.so: undefined symbol: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev

which is unrelated. Approved

@naveentatikonda @navneet1v can one of you approve as well so we can merge this?

@navneet1v navneet1v merged commit d83057d into opensearch-project:main Feb 10, 2025
28 of 35 checks passed
Vikasht34 pushed a commit to Vikasht34/k-NN that referenced this pull request Feb 12, 2025
…t#2442)

* move build to one directory, fix broken flag

Signed-off-by: Samuel Herman <[email protected]>

* fix make path

Signed-off-by: Samuel Herman <[email protected]>

* changelog update

Signed-off-by: Samuel Herman <[email protected]>

* add fix for classpath change and for cmake discovery on macos

Signed-off-by: Samuel Herman <[email protected]>

* fix make discovery for gradle

Signed-off-by: Samuel Herman <[email protected]>

* fix cmake path for macOS

Signed-off-by: Samuel Herman <[email protected]>

---------

Signed-off-by: Samuel Herman <[email protected]>
peterzhuamazon added a commit to peterzhuamazon/k-NN that referenced this pull request Feb 13, 2025
peterzhuamazon added a commit that referenced this pull request Feb 13, 2025
navneet1v pushed a commit that referenced this pull request Feb 17, 2025
…vice (#2532)

* fix broken build flag, move build to one directory (#2442)

* move build to one directory, fix broken flag

Signed-off-by: Samuel Herman <[email protected]>

* fix make path

Signed-off-by: Samuel Herman <[email protected]>

* changelog update

Signed-off-by: Samuel Herman <[email protected]>

* add fix for classpath change and for cmake discovery on macos

Signed-off-by: Samuel Herman <[email protected]>

* fix make discovery for gradle

Signed-off-by: Samuel Herman <[email protected]>

* fix cmake path for macOS

Signed-off-by: Samuel Herman <[email protected]>

---------

Signed-off-by: Samuel Herman <[email protected]>

* Update package name to fix compilation issue (#2513)

* Update package name to fix compilation issue

Core renamed this package in opensearch-project/OpenSearch#17272
This commit renames package accordingly

Signed-off-by: Balasubramanian <[email protected]>

* Update build.gradle and build.sh to separate x64 linux nmslib build with different gcc versions (#2506) (#2508)

* Update build gradle to separate nmslib / faiss generation

Signed-off-by: Peter Zhu <[email protected]>

* Update scripts/build.sh to separate enable gcc switch

Signed-off-by: Peter Zhu <[email protected]>

* Remove test comments

Signed-off-by: Peter Zhu <[email protected]>

* Remove test comments

Signed-off-by: Peter Zhu <[email protected]>

* Remove test comments

Signed-off-by: Peter Zhu <[email protected]>

* Updating restart and rolling upgrade bwc test bundle.gradle

Signed-off-by: Peter Zhu <[email protected]>

* Enforce gcc10 for nmslib to compile and avx512_spr have no-op

Signed-off-by: Peter Zhu <[email protected]>

---------

Signed-off-by: Peter Zhu <[email protected]>
(cherry picked from commit 107c4f1)

Co-authored-by: Peter Zhu <[email protected]>

---------

Signed-off-by: Balasubramanian <[email protected]>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: Peter Zhu <[email protected]>

* Adds debug logs for KNNQuery and KNNWeight (#2466) (#2470)

* Adds debug logs for KNNQuery and KNNWeight

Signed-off-by: Tejas Shah <[email protected]>

* Adds check to see if log is enabled to start and stop StopWatch

Signed-off-by: Tejas Shah <[email protected]>

* Addressing comments on the PR

Signed-off-by: Tejas Shah <[email protected]>

* Adds shard and segment info in the logs

Signed-off-by: Tejas Shah <[email protected]>

* Removes unnecessary segment name param from exact search

Signed-off-by: Tejas Shah <[email protected]>

* Fixes the build

Signed-off-by: Tejas Shah <[email protected]>

---------

Signed-off-by: Tejas Shah <[email protected]>
(cherry picked from commit f322e27)

Co-authored-by: Tejas Shah <[email protected]>

* Clean JNI artifacts with ./gradlew clean (#2516)

* clean JNI artifacts with ./gradlew clean

Signed-off-by: Samuel Herman <[email protected]>

* nest release under build directory

Signed-off-by: Samuel Herman <[email protected]>

* adjust all references to the old release path

Signed-off-by: Samuel Herman <[email protected]>

* remove irrelevant paths from gitignore, add jni/build

Signed-off-by: Samuel Herman <[email protected]>

* fix logging on linux

Signed-off-by: Samuel Herman <[email protected]>

---------

Signed-off-by: Samuel Herman <[email protected]>

* Backport to main (#2520)

* Remove skip building graph check for quantization use case (#2430)

For quantization indices, we don't have to apply building graph check
since it is already faster, this is now only applied for fp32/16 indices
and where threshold is configured.

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Update default to 0 to always build graph as default behavior (#2452)

Signed-off-by: Balasubramanian <[email protected]>

* Update changelog

Signed-off-by: Balasubramanian <[email protected]>

---------

Signed-off-by: Vijayan Balasubramanian <[email protected]>
Signed-off-by: Balasubramanian <[email protected]>

* [Backport main] Add release notes for 2.19.0 (#2503)

* Add release notes for 2.19.0

Signed-off-by: Kunal Kotwani <[email protected]>

* Fix links for release notes

Co-authored-by: John Mazanec <[email protected]>
Signed-off-by: Kunal Kotwani <[email protected]>

---------

Signed-off-by: Kunal Kotwani <[email protected]>
Co-authored-by: John Mazanec <[email protected]>

* Fix main knnlib dir in build script based on #2442 (#2526)

Signed-off-by: Peter Zhu <[email protected]>

* Minor performance improvments in KNNQueryBuilder (#2528)

Signed-off-by: Tejas Shah <[email protected]>

* Initial implementation of control flow

Signed-off-by: Rohan Chitale <[email protected]>

---------

Signed-off-by: Samuel Herman <[email protected]>
Signed-off-by: Balasubramanian <[email protected]>
Signed-off-by: Vijayan Balasubramanian <[email protected]>
Signed-off-by: Kunal Kotwani <[email protected]>
Signed-off-by: Peter Zhu <[email protected]>
Signed-off-by: Tejas Shah <[email protected]>
Signed-off-by: Rohan Chitale <[email protected]>
Co-authored-by: sam-herman <[email protected]>
Co-authored-by: Vijayan Balasubramanian <[email protected]>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: Peter Zhu <[email protected]>
Co-authored-by: Tejas Shah <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>
Co-authored-by: John Mazanec <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants