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

Changeset: approvedEmpty and deprecatedEmpty should always be false at particular point #4554

Open
kenwenzel opened this issue May 16, 2023 · 0 comments
Assignees
Labels

Comments

@kenwenzel
Copy link
Contributor

kenwenzel commented May 16, 2023

Current Behavior

Changeset uses this

https://github.com/eclipse/rdf4j/blob/39a07105167201124c75bb9decc9749a143cc7e7/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java#L419

and this

https://github.com/eclipse/rdf4j/blob/39a07105167201124c75bb9decc9749a143cc7e7/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java#L450

code to update the flags approvedEmpty and deprecatedEmpty
resulting in a contains(...) call based on the code in AbstractModel:

https://github.com/eclipse/rdf4j/blob/39a07105167201124c75bb9decc9749a143cc7e7/core/model/src/main/java/org/eclipse/rdf4j/model/impl/AbstractModel.java#L47

Expected Behavior

At these points the sets should always be non-empty and hence the flags could be initialized to false.

Steps To Reproduce

No response

Version

4.3.0-M2

Are you interested in contributing a solution yourself?

Perhaps?

Anything else?

No response

@kenwenzel kenwenzel added the 🐞 bug issue is a bug label May 16, 2023
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 17, 2023
…th MemoryOverflowModel

Increase the performance for large transactions requiring overflow to disk
for NativeStore and LmdbStore.
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 17, 2023
…th MemoryOverflowModel

Increase the performance for large transactions requiring overflow to disk
for NativeStore and LmdbStore.
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 17, 2023
…th MemoryOverflowModel

Increase the performance for large transactions requiring overflow to disk
for NativeStore and LmdbStore.
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 17, 2023
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 17, 2023
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 23, 2023
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 23, 2023
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 23, 2023
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 23, 2023
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 24, 2023
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 24, 2023
- some shallow copies of Changeset were not closed at all
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 24, 2023
- some shallow copies of Changeset were not closed at all
- use reference counting for approved and deprecated models
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 24, 2023
- some shallow copies of Changeset were not closed at all
- use reference counting for approved and deprecated models
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 24, 2023
- some shallow copies of Changeset were not closed at all
- use reference counting for approved and deprecated models
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 20, 2024
- do not verify additions in Changeset via isEmpty()
- proactively close MemoryOverflowModel in Changeset by using AutoClosable interface
- use GarbageCollectorMXBean to monitor GC load
- do not isolate transactions in LmdbStore when used in MemoryOverflowModel

# Conflicts:
#	core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/LmdbStore.java
#	core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/MemoryOverflowModel.java
#	core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/SailSourceModel.java
#	core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/MemoryOverflowModel.java
#	core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/SailSourceModel.java
kenwenzel added a commit to kenwenzel/rdf4j that referenced this issue May 20, 2024
- some shallow copies of Changeset were not closed at all
- use reference counting for approved and deprecated models
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants