ZihuanLing opened a new issue, #1321:
URL: https://github.com/apache/datafusion-ballista/issues/1321
**Describe the bug**
Almost the same as issue #1304 mentioned, but this is about CrossJoinExec
issue.
**To Reproduce**
Add the following test case in
`scheduler/src/physical_optimizer/join_selections.rs` and run the test, will
got the assertion error.
```rust
#[tokio::test]
async fn test_cross_join_with_swap() {
use std::sync::Arc;
use datafusion::{
config::ConfigOptions,
physical_optimizer::PhysicalOptimizerRule,
physical_plan::{displayable, joins::CrossJoinExec},
};
use crate::physical_optimizer::join_selection::JoinSelection;
let (big, small) = create_big_and_small();
let join = Arc::new(
CrossJoinExec::new(
Arc::clone(&big),
Arc::clone(&small),
),
) as Arc<dyn ExecutionPlan>;
let optimized_join = JoinSelection::new()
.optimize(join.clone(), &ConfigOptions::new())
.unwrap();
assert_eq!(
displayable(join.as_ref()).one_line().to_string(),
displayable(optimized_join.as_ref()).one_line().to_string()
);
}
```
**Expected behavior**
- The test should be passed, as decribe in #1304 :
> create ballista specific `JoinSelection` rule which would not swap inputs
if new exchange is needed
**Additional context**
Add any other context about the problem here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]