MCPcopy Index your code
hub / github.com/Netflix/hollow

github.com/Netflix/hollow @v7.14.48

Chat with this repo
repository ↗ · DeepWiki ↗ · release v7.14.48 ↗ · + Follow
10,092 symbols 41,249 edges 1,020 files 1,237 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hollow Logo

Hollow

Build Status Join the chat at https://gitter.im/Netflix/hollow NetflixOSS Lifecycle Download

Hollow is a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-only access. Read more.

Documentation is available at http://hollow.how.

Getting Started

We recommend jumping into the quick start guide — you'll have a demo up and running in minutes, and a fully production-scalable implementation of Hollow at your fingertips in about an hour. From there, you can plug in your data model and it's off to the races.

Get Hollow

Release binaries are available from Maven Central and jCenter.

GroupID/Org ArtifactID/Name Latest Stable Version
com.netflix.hollow hollow 5.1.3

In a Maven .pom file:

        ...
        <dependency>
                <groupId>com.netflix.hollow</groupId>
                <artifactId>hollow</artifactId>
                <version>5.1.3</version>
        </dependency>
        ...

In a Gradle build.gradle file:

        ...
        compile 'com.netflix.hollow:hollow:5.1.3'
        ...

Release candidate binaries, matching the -rc\.* pattern for an artifact's version, are available from the jCenter oss-candidate repository, which may be declared in a build.gradle file:

        ...
        repositories {
            maven {
                url 'https://dl.bintray.com/netflixoss/oss-candidate/'
            }
        }
        ...

Get Support

Hollow is maintained by the Platform Data Technologies team at Netflix. Support can be obtained directly from us or from fellow users through Gitter or by opening an issue in this project.

Generating the Docs

To view the docs locally you can just make site-serve, this will start the MkDocs server at http://127.0.0.1:8000/. You can also run make site-build to build the site locally and make site-deploy to deploy it to Github.

MkDocs runs with python, the Makefile via the venv task should take care of setting the Python's virtualenv for the site tasks. It does assume that virtualenv is available as a command and it also assume that we are targeting python3. Installing Python3 is out of the scope, check your OS package manager. For example, in Mac you can use homebrew to install python3 or anaconda3.

LICENSE

Copyright (c) 2016 Netflix, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Extension points exported contracts — how you extend this code

OrdinalRemapper (Interface)
Remaps ordinals various operations. Not intended for external consumption. [16 implementers]
hollow/src/main/java/com/netflix/hollow/tools/combine/OrdinalRemapper.java
DiffUIServer (Interface)
(no doc) [6 implementers]
hollow-diff-ui/src/main/java/com/netflix/hollow/diff/ui/DiffUIServer.java
UIServer (Interface)
(no doc) [7 implementers]
hollow-ui-tools/src/main/java/com/netflix/hollow/ui/UIServer.java
FieldProcessor (Interface)
Interface for custom field processors that can handle specific Protocol Buffer message fields.
hollow-protoadapter/src/main/java/com/netflix/hollow/protoadapter/field/FieldProcessor.java
FieldProcessor (Interface)
(no doc) [1 implementers]
hollow-jsonadapter/src/main/java/com/netflix/hollow/jsonadapter/field/FieldProcessor.java
HollowCombinerCopyDirector (Interface)
Specifies specific records (via their ordinals) to include/exclude while copying. The most useful implementation of [10 …
hollow/src/main/java/com/netflix/hollow/tools/combine/HollowCombinerCopyDirector.java
HollowObjectViewProvider (Interface)
(no doc) [4 implementers]
hollow-diff-ui/src/main/java/com/netflix/hollow/diffview/HollowObjectViewProvider.java
ArraySegmentRecycler (Interface)
An ArraySegmentRecycler is a memory pool. Hollow pools and reuses memory to minimize GC effects while updating data. [6 …
hollow/src/main/java/com/netflix/hollow/core/memory/pool/ArraySegmentRecycler.java

Core symbols most depended-on inside this repo

append
called by 2648
hollow/src/main/java/com/netflix/hollow/api/client/StackTraceRecorder.java
add
called by 1295
hollow/src/main/java/com/netflix/hollow/api/producer/HollowProducer.java
get
called by 969
hollow/src/main/java/com/netflix/hollow/core/memory/ByteData.java
getName
called by 744
hollow/src/main/java/com/netflix/hollow/api/producer/validation/ValidatorListener.java
getTypeState
called by 651
hollow/src/main/java/com/netflix/hollow/core/read/dataaccess/HollowTypeDataAccess.java
size
called by 532
hollow/src/main/java/com/netflix/hollow/core/memory/VariableLengthData.java
put
called by 385
hollow/src/main/java/com/netflix/hollow/core/util/IntMap.java
getStateEngine
called by 339
hollow/src/main/java/com/netflix/hollow/api/consumer/HollowConsumer.java

Shape

Method 8,380
Class 1,547
Interface 126
Enum 38
Function 1

Languages

Java100%
TypeScript1%

Modules by API surface

hollow/src/main/java/com/netflix/hollow/api/consumer/HollowConsumer.java121 symbols
hollow/src/main/java/com/netflix/hollow/api/producer/HollowProducer.java110 symbols
hollow/src/test/java/com/netflix/hollow/api/consumer/index/DataModel.java92 symbols
hollow/src/test/java/com/netflix/hollow/api/producer/HollowIncrementalProducerTest.java80 symbols
hollow/src/test/java/com/netflix/hollow/core/write/objectmapper/HollowCollectionTypeNameTest.java79 symbols
hollow/src/test/java/com/netflix/hollow/api/producer/HollowProducerTest.java75 symbols
hollow/src/test/java/com/netflix/hollow/core/write/objectmapper/HollowObjectMapperTest.java74 symbols
hollow/src/test/java/com/netflix/hollow/api/consumer/index/HashIndexTest.java73 symbols
hollow/src/test/java/com/netflix/hollow/api/consumer/index/UniqueKeyIndexTest.java71 symbols
hollow/src/test/java/com/netflix/hollow/core/write/objectmapper/HollowObjectMapperHollowRecordParserTest.java62 symbols
hollow/src/test/java/com/netflix/hollow/core/index/HollowPrefixIndexTest.java57 symbols
hollow/src/test/java/com/netflix/hollow/core/write/objectmapper/HollowObjectMapperFlatRecordParserTest.java54 symbols

For agents

$ claude mcp add hollow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact