diff --git a/CHANGELOG.md b/CHANGELOG.md
index de5419e..b5a5e1c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,15 @@
# cacher-v2
+
+## [v2.8.2] - 2025-08-27
+### Fixes
+- use pipeline without tx
+
+
## [v2.8.1] - 2025-08-21
### Other Improvements
-- downgrade go-redis version to v9.11.0
+- downgrade go-redis version to v9.11.0 ([#61](https://github.com/kumparan/cacher/issues/61))
@@ -618,7 +624,8 @@
## v1.0.0 - 2019-04-01
-[Unreleased]: https://github.com/kumparan/cacher/compare/v2.8.1...HEAD
+[Unreleased]: https://github.com/kumparan/cacher/compare/v2.8.2...HEAD
+[v2.8.2]: https://github.com/kumparan/cacher/compare/v2.8.1...v2.8.2
[v2.8.1]: https://github.com/kumparan/cacher/compare/v2.8.0...v2.8.1
[v2.8.0]: https://github.com/kumparan/cacher/compare/v1.20.0...v2.8.0
[v1.20.0]: https://github.com/kumparan/cacher/compare/v1.19.0...v1.20.0
diff --git a/VERSION b/VERSION
index 9d6007f..dde70c4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-cacher@v2.8.1
+cacher@v2.8.2
diff --git a/keeper.go b/keeper.go
index 52d6d32..200942a 100644
--- a/keeper.go
+++ b/keeper.go
@@ -562,7 +562,10 @@ func (k *keeper) StoreMultiHashMembers(ctx context.Context, mapIdentifiersToMemb
return nil
}
- pipeline := k.connPool.TxPipeline()
+ // using Pipeline instead of TxPipeline because TxPipeline force operation on multiple keys
+ // to be done in 1 cluster slot, so it doesn't support multiple slot operation
+ // reference: https://stackoverflow.com/a/38042895
+ pipeline := k.connPool.Pipeline()
for i, items := range mapIdentifiersToMembers {
for _, v := range items {
err = pipeline.HSet(ctx, i, v.GetKey(), v.GetValue()).Err()