Skip to content
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

Create a sql-plugin-api module #6565

Open
5 of 9 tasks
gerashegalov opened this issue Sep 15, 2022 · 1 comment
Open
5 of 9 tasks

Create a sql-plugin-api module #6565

gerashegalov opened this issue Sep 15, 2022 · 1 comment
Assignees
Labels
task Work required that improves the product but is not user facing tech debt

Comments

@gerashegalov
Copy link
Collaborator

gerashegalov commented Sep 15, 2022

  • Create a new Maven module that houses our public classes (ShimLoader, SQLPlugin, providers, etc,.).
  • Existing sql-plugin module depends on the new module and no longer supports unshimmed classes (those must be in the new module)

Code in the new module must use ShimLoader to access any sql-plugin classes because they are parallel-world, but sql-plugin code can access the unshimmed classes. This also has the advantage of making it much clearer in the source which classes are publicly advertised and which are hidden in parallel-world.

Originally posted by @jlowe in #6555 (review)

Tasks

  1. build improve task test
    gerashegalov
  2. build
  3. tech debt
    gerashegalov
  4. tech debt
    gerashegalov
  5. task
  6. tech debt
    gerashegalov
  7. bug reliability
@abellina
Copy link
Collaborator

As part of this issue, would we do away with unshimmed-common-from-spark311.txt? If so, I am wondering if this thread will be resolved #9113 (comment)

@gerashegalov gerashegalov self-assigned this Aug 28, 2023
gerashegalov added a commit that referenced this issue Oct 24, 2023
…9444)

Closes #9456
Contributes to #6565 

- additionally remove unsued pom properties
- remove unnecessary unshimmed*txt entries missed in #9506 
- get shuffle manager definition to the point of an easy template, probably can be a shimplify feature

```scala
/*** spark-rapids-shim-json-lines
{"spark": "${buldver}"}
spark-rapids-shim-json-lines ***/
package com.nvidia.spark.rapids.spark${buldver}

import org.apache.spark.SparkConf
import org.apache.spark.shuffle.rapids.ProxyRapidsShuffleInternalManagerBase

/** A shuffle manager optimized for the RAPIDS Plugin for Apache Spark. */
sealed class RapidsShuffleManager(
    conf: SparkConf,
    isDriver: Boolean
) extends ProxyRapidsShuffleInternalManagerBase(conf, isDriver)
```
 
Signed-off-by: Gera Shegalov <gera@apache.org>
gerashegalov added a commit to gerashegalov/spark-rapids that referenced this issue Oct 25, 2023
contributes to NVIDIA#6565

Signed-off-by: Gera Shegalov <gera@apache.org>
revans2 pushed a commit that referenced this issue Oct 26, 2023
contributes to #6565

Signed-off-by: Gera Shegalov <gera@apache.org>
gerashegalov added a commit that referenced this issue Nov 3, 2023
I noticed a couple more classes that can be easily moved to sql-plugin-api after refactoring

Contributes to #6565 

- RapidsUDF
- ExclusiveModeGpuDiscoveryPlugin
- Retryable
- udf.Plugin
- SQLPlugin

to sql-plugin-api

Signed-off-by: Gera Shegalov <gera@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Work required that improves the product but is not user facing tech debt
Projects
None yet
Development

No branches or pull requests

3 participants