Comments (6)
ByteBuffer and byte arrays cannot be larger be larger than int capacity.
from agrona.
ByteBuffer and byte arrays cannot be larger be larger than int capacity.
That is, if Argon would like to support a ring buffer of this size, then the only option is to work with files directly (memory-mapped files, dev/shm, etc.)?
Mapped files in Java still return a ByteBuffer
so still not possible. There are techniques that can be used which are unsupported in the JDK. We can provide commercial consulting on that but we do not provide it as free support in Agrona.
from agrona.
First of all as pointed out @mjpt777 the underlying size cannot exceed int
(an actual value is Integer.MAX_VALUE - 8
). That being said we could allow ExpandableDirectByteBuffer
to grow until that max value as oppose to 1GB.
If you need more than 2GB of storage you can use org.agrona.concurrent.MappedResizeableBuffer
.
from agrona.
This would require changing all of the accessor methods that take in a index value and switch it from a int to a long. This in turn would break compatibility with the array backed implementations of the DirectBuffer.
from agrona.
This would require changing all of the accessor methods that take in a index value and switch it from a int to a long. This in turn would break compatibility with the array backed implementations of the DirectBuffer.
What do you think, are there other pitfalls besides compatibility that prevent the increase in the maximum size? Only this limitation does not allow using Aeron in our project, where the buffer size must be at least 60 gigabytes.
from agrona.
ByteBuffer and byte arrays cannot be larger be larger than int capacity.
That is, if Argon would like to support a ring buffer of this size, then the only option is to work with files directly (memory-mapped files, dev/shm, etc.)?
from agrona.
Related Issues (20)
- Java Byte Order is Big Endian HOT 1
- Issue with ManyToManyConcurrentArrayQueue HOT 1
- MutableDirectBuffer methods to put string could accept CharSequence HOT 5
- Is there a elimination method for ManyToOneRingbuffer or OneToOneRingbuffer? HOT 5
- Making AsciiSequenceView not final
- Add Object2IntCounterMap HOT 2
- Efficient compute / computeIfAbsent / computeIfPresent in maps HOT 3
- Int2ObjectCache get returns unmatched item HOT 6
- ByteBuffers allocated with 'BufferUtil.allocateDirectAligned' cannot be freed with 'BufferUtil.free'
- ManyToOneConcurrentArrayQueue poll may return null when queue isEmpty() is false HOT 1
- BUG: ShutdownSignalBarrier causes Java runtime shutdown hooks to not run HOT 3
- java.io.DataInput implementation for DirectBuffer-s HOT 2
- ManyToOneRingBuffer that allows reading old messages like BroadcastBuffer but with multiple producers HOT 3
- throw ConcurrentModificationException when concurrent modification is detected
- java.lang.InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code HOT 3
- How is NioSelectedKeySet intended to be used? HOT 2
- Fully support modular applications by providing module-info.java
- AgentRunner failed to be closed when JVM exits HOT 1
- Possible issue with `OneToOneConcurrentArrayQueue`? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agrona.