Commit 509c682
committed
fix: ship lambda expression in proto instead of via process-local registry
The previous CometLambdaRegistry approach registered the ArrayExists
expression in a JVM-local ConcurrentHashMap on the driver and looked it
up by UUID on the executor. In a real cluster the executor JVM never
sees the driver's registry and the lookup fails. Local-mode tests
masked this because driver and executor share the same JVM.
Serialize the ArrayExists Catalyst expression to bytes in the serde
layer and embed it in the proto as a BinaryType literal arg. The UDF
deserializes on each invocation. CometLambdaRegistry is no longer
referenced and is removed.1 parent 2c904fc commit 509c682
3 files changed
Lines changed: 29 additions & 78 deletions
File tree
- spark/src/main/scala/org/apache/comet
- serde
- udf
Lines changed: 17 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
| |||
852 | 851 | | |
853 | 852 | | |
854 | 853 | | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
861 | 869 | | |
862 | 870 | | |
863 | 871 | | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
| 872 | + | |
868 | 873 | | |
869 | 874 | | |
870 | 875 | | |
871 | 876 | | |
872 | 877 | | |
873 | | - | |
| 878 | + | |
874 | 879 | | |
875 | 880 | | |
876 | 881 | | |
| |||
Lines changed: 12 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | 22 | | |
25 | 23 | | |
26 | 24 | | |
| |||
34 | 32 | | |
35 | 33 | | |
36 | 34 | | |
37 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | | - | |
54 | | - | |
| 53 | + | |
| 54 | + | |
55 | 55 | | |
56 | | - | |
57 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
58 | 62 | | |
59 | 63 | | |
60 | 64 | | |
| |||
Lines changed: 0 additions & 58 deletions
This file was deleted.
0 commit comments