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

[Refactoring] Move SeekableInputStream, BufferredInput, (de)compressor related classes to dwio::common::io #1618

Closed
yingsu00 opened this issue May 14, 2022 · 1 comment

Comments

@yingsu00
Copy link
Collaborator

From #1533 we mentioned the SeekableInputStream related classes shall be moved. This issue is to track the move itself.

1. SeekableInputStream and its subclasses (except PagedInputStream at this time) will be moved.

facebook::velox::dwrf  ==>  facebook::velox::dwio::common::io
velox/dwio/dwrf/common/InputStream.h/cpp  ⇒ velox/dwio/common/io/SeeableInputStream.h/cpp
velox/dwio/common/InputStream.h/cpp ⇒ velox/dwio/common/io/InputStream.h/cpp

We rename InputStream.h/cpp to SeeableInputStream.h/cpp to differentiate from velox/dwio/common/InputStream.h/cpp

  • PagedInputStream is used for compressed ORC and DWRF files, and it needs to handle the ORC compression format. We will leave it in the dwrf namespace for now.

2. Compressor and subclasses

velox/dwio/dwrf/common/Compression.h/cpp. == > velox/dwio/common/Compression.h/cpp

3. BufferedInput and CachedBufferedInput

namespace facebook::velox::dwrf. ==> facebook::velox::dwio::common::io
file velox/dwio/dwrf/common/BufferedInput.h/cpp. == > velox/dwio/common/io/BufferedInput.h/cpp.
file velox/dwio/dwrf/common/CachedBufferedInput.h/cpp. == > velox/dwio/common/io/CachedBufferedInput.h/cpp.

BufferedInput.h needs to reference StreamIdentifier in Common.h.

  virtual std::unique_ptr<SeekableInputStream> enqueue(
  	dwio::common::Region region,
  	const StreamIdentifier* FOLLY_NULLABLE si = nullptr)

But si was not used other than one test velox/dwio/dwrf/test/CacheInputTest.cpp in makeStripeData(). Since StreamIdentifier and EncodingKey not related to Parquet but just DWRF and ORC, we will change this parameter to be some common type.

@yingsu00 yingsu00 changed the title [Refactoring] Move SeekableInputStream, BufferredInput, (de)compressor related classes to velox::dwio::common::io [Refactoring] Move SeekableInputStream, BufferredInput, (de)compressor related classes to dwio::common::io May 14, 2022
@stale
Copy link

stale bot commented Sep 14, 2022

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale label Sep 14, 2022
@stale stale bot closed this as completed Sep 28, 2022
marin-ma pushed a commit to marin-ma/velox-oap that referenced this issue Dec 15, 2023
…#1618)

What changes were proposed in this pull request?
add format check for ch backend

(Fixes: facebookincubator#1612)

How was this patch tested?
unit tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants