Skip to content

Conversation

@houqp
Copy link
Member

@houqp houqp commented Nov 6, 2021

Rationale for this change

Prepare for the 6.0.0 release.

We have way more changes than I initially expected :D

Also cc @rdettai

What changes are included in this PR?

  • New changelogs
  • Improve release automations

Are there any user-facing changes?

no

@houqp houqp added this to the 6.0.0 milestone Nov 6, 2021
@github-actions github-actions bot added ballista development-process Related to development process of DataFusion labels Nov 6, 2021
@houqp
Copy link
Member Author

houqp commented Nov 6, 2021

I am quite comfortable with the release automation tools and documentation now, I think next time, any committer should be able to run the release so I won't be the only one who is running the releases.

#

# point to the old changelog in apache/arrow
front-matter=For older versions, see [apache/arrow/CHANGELOG.md](https://github.com/apache/arrow/blob/master/CHANGELOG.md)\n
Copy link
Member Author

Choose a reason for hiding this comment

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

not needed anymore because it's already included in the 5.0.0 changelog and we are appending 6.0.0 changelog on top of it.

Comment on lines -104 to -114
Create local release rc tags:

```
git tag -f 5.1.0-rc-local
# if there is ballista release
git tag -f ballista-0.5.0-rc-local
# if there is python binding release
git tag -f python-0.3.0-rc-local
```

Manully edit the previous release version tag in
Copy link
Member Author

Choose a reason for hiding this comment

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

turns out these local tags are not being used at all in changelog automation.

--project arrow-datafusion \
--since-tag "${FROM_VER}" \
--include-labels "${PROJECT}" \
--base "${OUTPUT_PATH}" \
Copy link
Member Author

Choose a reason for hiding this comment

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

this argument appends new version changelog to the existing one file instead of overwriting the full history.

@jimexist
Copy link
Member

jimexist commented Nov 6, 2021

thanks for the update @houqp - i guess i can help with releasing next time (or a minor one, like 6.1)

@xudong963
Copy link
Member

xudong963 commented Nov 6, 2021

Nice work 👍🏻@houqp, looking forward to being a committer and running the release, LOL 😁

@alamb alamb mentioned this pull request Nov 6, 2021
Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

This is great -- thank you very much @houqp ❤️

Do you plan a release blog? I would love to help make one. There are all sorts of cool things I think we could write about in this release (AVRO support, explain analyze, constant folding, hive partitioning support, and the new roadmap


**Breaking changes:**

- Removed deprecated with\_concurrency [\#1200](https://github.com/apache/arrow-datafusion/pull/1200) ([rdettai](https://github.com/rdettai))
Copy link
Contributor

Choose a reason for hiding this comment

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

There is a lot of good stuff in DF 6.0.0 😮

@houqp
Copy link
Member Author

houqp commented Nov 6, 2021

Do you plan a release blog? I would love to help make one.

Please go ahead @alamb ! I won't have time to do this until the release has been cut and voted. We can all collaborate to the blog like the last one @andygrove wrote.

@jimexist
Copy link
Member

jimexist commented Nov 7, 2021

oh by the way after this is cut and release i will help with the homebrew formula update

@houqp
Copy link
Member Author

houqp commented Nov 8, 2021

Going to wait for @xudong963 's set changes for 6.0.0 release since those PRs look pretty complete and mostly ready to merge :)

@alamb
Copy link
Contributor

alamb commented Nov 8, 2021

Please go ahead @alamb ! I won't have time to do this until the release has been cut and voted. We can all collaborate to the blog like the last one @andygrove wrote.

Here is an initial shot: apache/arrow-site#160

I may have missed something

@xudong963
Copy link
Member

@houqp Maybe README also need update: https://github.com/apache/arrow-datafusion/blob/master/README.md#using-datafusion-as-a-library

[dependencies]
datafusion = "5.0.0"

to

[dependencies]
datafusion = "6.0.0"

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Nov 13, 2021
@houqp houqp merged commit 7824a8d into apache:master Nov 14, 2021
@houqp
Copy link
Member Author

houqp commented Nov 14, 2021

Thanks @xudong963 for catching that, I have updated the version bump automation to cover README.md going forward.

@houqp houqp deleted the qp_release branch November 14, 2021 01:04
@alamb
Copy link
Contributor

alamb commented Nov 14, 2021

🎉

matthewmturner pushed a commit to matthewmturner/arrow-datafusion that referenced this pull request Nov 16, 2021
…ache#1253)

* create datafusion 6.0.0, ballista 0.6.0 and python 0.4.0 releases
unkloud pushed a commit to unkloud/datafusion that referenced this pull request Mar 23, 2025
H0TB0X420 pushed a commit to H0TB0X420/datafusion that referenced this pull request Oct 11, 2025
…rrow errors (apache#1253)

* Refactor schema, config, dataframe, and expression classes to use RwLock and Mutex for interior mutability

* Add error handling to CaseBuilder methods to preserve builder state

* Refactor to use parking_lot for interior mutability in schema, config, dataframe, and conditional expression modules

* Add concurrency tests for SqlSchema, Config, and DataFrame

* Add tests for CaseBuilder to ensure builder state is preserved on success

* Add test for independent handles in CaseBuilder to verify behavior

* Fix CaseBuilder to preserve state correctly in when() method

* Refactor to use named constant for boolean literals in test_expr.py

* fix ruff errors

* Refactor to introduce type aliases for cached batches in dataframe.rs

* Cherry pick from apache#1252

* Add most expr - cherry pick from apache#1252

* Add source root - cherry pick apache#1252

* Fix license comment formatting in config.rs

* Refactor caching logic to use a local variable for IPython environment check

* Add test for ensuring exposed pyclasses default to frozen

* Add PyO3 class mutability guidelines reference to contributor guide

* Mark boolean expression classes as frozen for immutability

* Refactor PyCaseBuilder methods to eliminate redundant take/store logic

* Refactor PyConfig methods to improve readability by encapsulating configuration reads

* Resolve patch apply conflicts for CaseBuilder concurrency improvements

- Added CaseBuilderHandle guard that keeps the underlying CaseBuilder alive while holding the mutex and restores it on drop
- Updated when, otherwise, and end methods to operate through the guard and consume the builder explicitly
- This prevents transient None states during concurrent access and improves thread safety

* Resolve Config optimization conflicts for improved read/write concurrency

- Released Config read guard before converting values to Python objects in get and get_all
- Ensures locks are held only while collecting scalar entries, not during expensive Python object conversion
- Added regression test that runs Config.get_all and Config.set concurrently to guard against read/write contention regressions
- Improves overall performance by reducing lock contention in multi-threaded scenarios

* Refactor PyConfig get methods for improved readability and performance

* Refactor test_expr.py to replace positional boolean literals with named constants for improved linting compliance

* fix ruff errors

* Add license header to test_pyclass_frozen.py for compliance

* Alternate approach to case expression

* Replace case builter with keeping the expressions and then applying as required

* Update unit tests

* Refactor case and when functions to utilize PyCaseBuilder for improved clarity and functionality

* Update src/expr/conditional_expr.rs

---------

Co-authored-by: ntjohnson1 <24689722+ntjohnson1@users.noreply.github.com>
Co-authored-by: Tim Saucer <timsaucer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-process Related to development process of DataFusion documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants