text:
Dev merge Master Latest stable version (v: 2.7.5)

New Beta version, not final complete stable version. Complete stable version when a separate branch is opened with the version number.

Merge pull request; Pull request closed & locked

Merge pull request #7 from AirFusion45/DEV | Perm given to merge. Merged & Locked.

license: mit


text:
Overlapping submenus

Hi,
I currently have two submenus that are above each other (import/export). If you quickly mouse over both of them, both submenus end up appearing at the same time and overlapping.

@codedreamin FIXED, update to v0.2

source: gharchive/issue

authors: Akascape codedreamin

repo: Akascape/CTkMenuBar

license_type: permissive

license_source: github-api


text:
Code snippet of same name directly following heading interferes with TOC: insert/update

Hi Alan,
Thanks for creating markdown-toc, I enjoy using it.
I recently discovered a really bizarre edge case bug that you might be interested in.

Summary
If you have a heading line which is directly followed by a <code-snippet-with-angle-brackets> and the code snippet has the same text as the heading, the TOC generated by TOC: insert/update gets cut off.
Below is an example. See how the generated TOC doesn't go further than Heading3...
------- BEGIN EXAMPLE ----------
<!-- TOC -->

- [Heading1](#heading1)
- [Heading2](#heading2)
- [Heading3](#heading3)

<!-- /TOC -->

## Heading1 ##

Some text

## Heading2 #

Some more text, with a ```<heading2>``` code snippet

## Heading3 ###

```<heading3>``` code snippet is the first entry after the heading, and has the same name

Suspect that this code snippet is the culprit

## Other Heading ##

Expect to see this other heading in the TOC

## Also Expected ##

Will this turn up in TOC?

This is a problem in the algorithm of detecting code blocks. That said, ``` is only used for multiline code blocks, you should just use `.

Thanks @mcornella
If I understand what you have said correctly, does that mean the issue doesn't exist if you:
a) use triple back-ticks ``` for a multi-line code block...
e.g. this
over several
lines

b) use single back-ticks ` for single-line code example
e.g. this on one line
Did I get that right?

From what I've tested it seems this is how it works yeah.

authors: mcornella miller-productions

repo: AlanWalk/markdown-toc

license_source: bigquery


text:
Created a file with firebase configurations

This pull request gives E-Client the configuration to access Firebase and work with it.

LGTM

source: gharchive/pull-request

authors: Euan-lc Slywoud

repo: AlassaneWone/RoomMapping

license: MIT


text:
Add distinct method to return unique values

Hi there,
Is there in plan to add distinct method to return unique values?!

Hello.
To have distinct results, we have to set the result type of the fetch request to NSDictionaryResultType and inform the properties to fetch, so we have dictionaries as results instead of managed objects. An AttributeQuery class was in test for this. I hope to resume testing this feature soon.
Thank you.

An early version of this class (AttributeQuery) was added to project in "develop" branch. Maybe it would meet the need?

I did an extension to the 'Table' but as you mentioned the issue is that's returning Dictionary type while I'm interested  to not lose the generic behavior of Entity ('T').
I still didn't update to Swift 1.2 because of some dependencies on some libraries that are not updated yet, so I'm still stuck with old version.
By the way thank you, and congrats for your great work. It was a need to have something like EF on iOS core data too, and as far as i saw this is the closest to it.

We can continue working on it. If you have any idea how to implement keeping the type of entity, please tell me. Thank you. :-)

authors: bettimms vmartinelli

repo: Alecrim/AlecrimCoreData


text:
Homeworks 9

part 1

added 2nd task

added 3d task

fixed


text:
binding enums

hi , i really like the idea of your project , very helpful and time saver
i would like to add the feature of binding to enum values
like an enum with
element1,
element2,
element3
to bind like this
c:Binding path = property Is element1
please tell me if it's possible

Thank you, the pleasure is mine!
Regarding for issue:
Unfortunately calcBinding doesn't support custom enums (as well as other custom classes) yet. I understand important of such support, because several issues are just about it. I'm going to implement this feauture as soon as possible (maybe even tomorrow)

Thanks for your efforts :D
On Jul 18, 2015 7:38 PM, "Alex141" notifications@github.com wrote:

Thank you, the pleasure is mine!
Regarding for issue:
Unfortunately calcBinding doesn't support custom enums (as well as other
custom classes) yet. I understand important of such support, because
several issues are just about it. I'm going to implement this feauture as
soon as possible (maybe even tomorrow)
—
Reply to this email directly or view it on GitHub
https://github.com/Alex141/CalcBinding/issues/21#issuecomment-122571092.

Is there any progress with this?

i ended up using a convertor and binding to integer values

Enums are supported in version 2.3.0.0, thank you guys for your patience :))


text:
Ozone wayland vaapi support

This is both a feature request and a question. Is it possible to add a patch to support VAAPI on the pure Wayland backend (ozone-platfrom=wayland)? Also, how to apply custom patches to chromium?
Patch link: https://github.com/OSSystems/meta-browser/blob/master/meta-chromium/recipes-browser/chromium/files/chromium-wayland/0001-ozone-add-va-api-support-to-wayland.patch

@pierro78 @MarkGhanz @mzinner @midzer @gz83  I added that patch as well as an omnibox patch!! https://github.com/Alex313031/Thorium/commit/08267e6810b4b0c3b17b060378531b0036da4feb and https://github.com/Alex313031/Thorium/commit/9a289261833dca49db59542684f541e02330e9c7

Doesn't work for me with 106.0.5212.0.
Tried to combine with other flags, like --ignore-gpu-blocklist, but videos are still black. Had to turn VAAPI off with --disable-features=VaapiVideoDecoder.
Repacked deb version, CachyOS (Arch-based). Mesa 22.1.4.


text:
Add index.html to Homepage

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Résumé</title>
  </head>
  <body>
    ― Hello World! 😉
  </body>
</html>

Added succesfully!

repo: AlexDziunyk/homepage


text:
Every access to db should verify links

Currently deleted files are not purged from the brain db.
This should be fixed and checked, at least before list.

Maybe do mdb clean to make it opt-in in case of many files in db.

repo: AlexanderBrevig/mdb


text:
🛑 Nyam is down

In 6128026, Nyam ($SECRET_URL_NYAM) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nyam is back up in bc0c4c4.

repo: AlexanderKlimashevskiy/upptime


text:
Extend the File Type

Hi it is posible that you can extented the File Types.
So we can also search in Powershell Files (.ps1 and .psm)
Your Search is really grate because it search for Fiel Name and File Content.
Best regards
Ralf

Thanks.
Do you want to search in all powershell content (variable names, etc) or
only in comments?
On Wed, 30 Aug 2023, 16:15 rako999-sys, @.***> wrote:

Hi it is posible that you can extented the File Types.
So we can also search in Powershell Files (.ps1 and .psm)
Your Search is really grate because it search for Fiel Name and File
Content.
Best regards
Ralf
—
Reply to this email directly, view it on GitHub
https://github.com/AlexandriteSoftware/markdown-search/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG7MKWOWZZLYAOMPIQHZLLXX5KILANCNFSM6AAAAAA4EV67FI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

In all powershell content will be nice
Thanks

After careful consideration and looking through alternatives I've decided that right now implementing search over other types of files in this extension does not going well along with its original purpose: full text fuzzy search in markdown-formatted knowledge bases.
There are other extensions that simplify working with PowerShell scripts, e.g. https://marketplace.visualstudio.com/search?term=powershell&target=VSCode&category=All categories&sortBy=Relevance

Hi,
it's ok thank you for your efforts.
Best regards
Ralf

repo: AlexandriteSoftware/markdown-search


text:
issue running sigprofilerassignment in GEL container

Hello,
I am using SigProfilerAssignment in the Genomics England Research Environment. I have to use it via a singularity container and this container cannot be written into; I can only use/execute it.
I have to bind this container to my working directory, and it will write to my working directory only.
while executing it, I have run into this error, which i have listed below concisely (I HAVE ATTACHED THE COMPLETE ERROR )

Analyze.cosmic_fit samples="/demo sigprofiler/input", output="./demo_sigprofiler/ouput", input_type="vcf", context_type="96", geno
Starting matrix generation for SNVS and DINUCS... Completed! Elapsed time: 10.85 seconds.
Starting matrix generation for INDELS...Completed! Elapsed time: 5.64 seconds.
Matrices generated for 4 samples with 0 errors. Total of 77021 SNVS, 767 DINUCS, and 6203 INDELS were successfully analyzed.
Assigning COSMIC sigs or Signature Database ......
4/4 [100%] in 1.9s (2.73/s)
There may be an issue with the formatting of your matrix file.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/sigProfilerPlotting/sigProfilerPlotting.py", line 1027, in plotSBS
File "/usr/local/lib/python3.9/dist-packages/sigProfilerPlotting/sigProfilerPlotting .py", line 129, in make pickle_file
os.mkdir (volume)
OSError: [Errno 30] Read-only file system: '/usr/local/lib/python3.9/dist-packages/sigProfilerPlotting/templates/'
.......
........
FileNotFoundError: [Errno 2] No such file or directory: './demo_sigprofiler/ouput/Assignment Solution/Signatures/SBS_96_plots_Assignment_Solution.pdf'

So, as I understand, during the running of the script sigprofiler plotting tries to create template files in the installed directory,  and fails to do so as the container cannot be written into and subsequently the script throws an error
I am stuck for the past 1 month and I have not been able to figure out a solution. I have requested Genomics England (GEL)  and they are able to provide this only as a container and also am I not allowed to separately install siprofiler suite and the genome in my own environment. Genomics England has some conda environment too having sigprofiler suite components partly installed, so I can't use those too. I cannot take the data out of GEL.
please, can you suggest some workaround for this. https://drive.google.com/file/d/1cti-4q3JQS2jEU3WHE6ChsLLf1ElgziP/view?usp=sharing (complete error)
Best Wishes,
Anubrata

Hi Anubrata,
SigProfilerAssignment imports both SigProfilerPlotting and SigProfilerMatrixGenerator, which are being updated to have a user defined location for saving and loading required files from. Once those updates have been completed and adopted into this repository, we will close #78.

authors: mdbarnesUCSD me-nobody

repo: AlexandrovLab/SigProfilerAssignment


text:
workspace 10 order is not correct

Platform
arch Linux, sway 1.2-3, waybar 0.8.0-3

Problem
The order of workspace 10 is not correct. It is not next to workspace 9. Instead, it is between workspace 1 and workspace 2. If I use sway-bar, workspace 10 is right next to workspace 9.
How to reproduce
1. add workspace 10 in sway config
2. switch to workspace 10
3. It is between workspace 1 and workspace 2

I expect that workspace 10 is right next to workspace 9.

It is because the comparison is made on a string so the 1 of 10 is taken into account, i'll look into that.

I have tried with 10 workspaces (even with 11) and it seems to works  (c.f the screenshot below). Here is the sway config:
set $ws1 "1: A"
set $ws2 "2: B"
set $ws3 "3: C"
set $ws4 "4: D"
set $ws5 "5: E"
set $ws6 "6: F"
set $ws7 "7: G"
set $ws8 "8: H"
set $ws9 "9: I"
set $ws10 "10: J"

workspace $ws1
workspace $ws2
workspace $ws3
workspace $ws4
workspace $ws5
workspace $ws6
workspace $ws7
workspace $ws8
workspace $ws9
workspace $ws10

Can you share your configuration ?

I use the default config in sway.
    bindsym $sup+1 workspace 1
    bindsym $sup+2 workspace 2
    bindsym $sup+3 workspace 3
    bindsym $sup+4 workspace 4
    bindsym $sup+5 workspace 5
    bindsym $sup+6 workspace 6
    bindsym $sup+7 workspace 7
    bindsym $sup+8 workspace 8
    bindsym $sup+9 workspace 9
    bindsym $sup+0 workspace 10

waybar config
    "sway/workspaces": {
        "disable-scroll": true,
        "format": "{name}:{icon}",
        "format-icons": {
            "1": "😎",
            "2": "🌐",
            "3": "📁",
            "4": "🤖",
            "5": "📝",
            "6": "📒",
            "7": "📖",
            "8": "🎸",
            "9": "📧",
            "10": "🌞"
        }
    },

Should be fixed with 7f7ebb5367751c9c6eb82226c9168cf6e809d16c

Unfortunately this bug wasn't solved. The problem is that in when you're assigning a string to v["name"] it'll become a "string" on next read. So v["name"] = string(10), will become string("10").
You can observe it by applying following diff.
diff --git a/src/modules/sway/workspaces.cpp b/src/modules/sway/workspaces.cpp
index b65e47d..8bf6628 100644
--- a/src/modules/sway/workspaces.cpp
+++ b/src/modules/sway/workspaces.cpp
@@ -1,5 +1,6 @@
 #include "modules/sway/workspaces.hpp"
 #include <spdlog/spdlog.h>
+#include <iostream>

 namespace waybar::modules::sway {

@@ -33,6 +34,8 @@ void Workspaces::onEvent(const struct Ipc::ipc_response &res) {
   }
 }

+#include <cstdlib>
+
 void Workspaces::onCmd(const struct Ipc::ipc_response &res) {
   if (res.type == IPC_GET_WORKSPACES) {
     try {
@@ -55,6 +58,7 @@ void Workspaces::onCmd(const struct Ipc::ipc_response &res) {
           const std::vector<std::string> p_workspaces_names = p_workspaces.getMemberNames();

           for (const std::string &p_w_name : p_workspaces_names) {
+            std::cout << "NAME: " << p_w_name << std::endl;
             const Json::Value &p_w = p_workspaces[p_w_name];
             auto               it =
                 std::find_if(payload.begin(), payload.end(), [&p_w_name](const Json::Value &node) {
@@ -70,7 +74,7 @@ void Workspaces::onCmd(const struct Ipc::ipc_response &res) {
               for (const Json::Value &output : p_w) {
                 if (output.asString() == bar_.output->name) {
                   Json::Value v;
-                  v["name"] = p_w_name;
+                  v["name"] = std::atoi(p_w_name.c_str());
                   v["target_output"] = bar_.output->name;
                   workspaces_.emplace_back(std::move(v));
                   break;
@@ -79,18 +83,25 @@ void Workspaces::onCmd(const struct Ipc::ipc_response &res) {
             } else {
               // Adding to all outputs
               Json::Value v;
-              v["name"] = p_w_name;
+              v["name"] = std::atoi(p_w_name.c_str());
               v["target_output"] = "";
               workspaces_.emplace_back(std::move(v));
             }
           }

+          for (auto W : workspaces_) {
+            std::cerr << "W: " << W["name"] << "\n";
+          }
+
           std::sort(workspaces_.begin(),
                     workspaces_.end(),
                     [](const Json::Value &lhs, const Json::Value &rhs) {
+                      std::cerr << "LHS NAME: " << lhs["name"] << " RHS NAME: " << rhs["name"] << std::endl;
                       if (lhs["name"].isInt() && rhs["name"].isInt()) {
+                        std::cerr << "FINALLY INT\n";
                         return lhs["name"].asInt() < rhs["name"].asInt();
                       }
+                      std::cerr << "AS STRING CMP\n";
                       return lhs["name"].asString() < rhs["name"].asString();
                     });
         }

and my output for this diff
NAME: 1
NAME: 10
NAME: 2
NAME: 3
NAME: 4
NAME: 5
NAME: 6
NAME: 7
NAME: 8
NAME: 9
W: "1"
W: 10
W: 2
W: 3
W: 4
W: 5
W: 6
W: 7
W: 8
W: 9
LHS NAME: 10 RHS NAME: "1"
AS STRING CMP
LHS NAME: 10 RHS NAME: "1"
AS STRING CMP
LHS NAME: 2 RHS NAME: "1"
AS STRING CMP
LHS NAME: 2 RHS NAME: 10
FINALLY INT
LHS NAME: 2 RHS NAME: "1"
AS STRING CMP
LHS NAME: 3 RHS NAME: "1"
AS STRING CMP
LHS NAME: 3 RHS NAME: 10
FINALLY INT
LHS NAME: 3 RHS NAME: 2
FINALLY INT
LHS NAME: 4 RHS NAME: "1"
AS STRING CMP
LHS NAME: 4 RHS NAME: 10
FINALLY INT
LHS NAME: 4 RHS NAME: 3
FINALLY INT
LHS NAME: 5 RHS NAME: "1"
AS STRING CMP
LHS NAME: 5 RHS NAME: 10
FINALLY INT
LHS NAME: 5 RHS NAME: 4
FINALLY INT
LHS NAME: 6 RHS NAME: "1"
AS STRING CMP
LHS NAME: 6 RHS NAME: 10
FINALLY INT
LHS NAME: 6 RHS NAME: 5
FINALLY INT
LHS NAME: 7 RHS NAME: "1"
AS STRING CMP
LHS NAME: 7 RHS NAME: 10
FINALLY INT
LHS NAME: 7 RHS NAME: 6
FINALLY INT
LHS NAME: 8 RHS NAME: "1"
AS STRING CMP
LHS NAME: 8 RHS NAME: 10
FINALLY INT
LHS NAME: 8 RHS NAME: 7
FINALLY INT
LHS NAME: 9 RHS NAME: "1"
AS STRING CMP
LHS NAME: 9 RHS NAME: 10
FINALLY INT
LHS NAME: 9 RHS NAME: 8
FINALLY INT

I've launched Waybar only having active Workspace 1, so it was filtered and missed my atoi conversion(I'm not proposing atoi to solve this problem, just an example). And during cmp you can see that I'm comparing string "1" to 8. I guess we either should drop begin/end " and try converting to int and then cmp it or store ints direcly.

For me, the order works when I do not specify "peristent_workspaces". If I specify all my workspaces, they get ordered in the wrong way. I use workspace names of the form index:name, so for example, 10:0, or 11:-.

For me, the order works when I do not specify "peristent_workspaces". If I specify all my workspaces, they get ordered in the wrong way. I use workspace names of the form index:name, so for example, 10:0, or 11:-.

Thanks for the workaround. After I commented persistent_workspaces, the order is correct. I will live with this for now.

Sure, will check!

Ok figured why, here, isInt will never enter cause of it's defined as a string, we need to try to convert int before.

Fixed with #696

Hello,
Faced with the wrong order issue for the F1-F10 workspaces.
set $ws1 1:Termite
set $ws2 2:WEB
set $ws3 3:Telegram
set $ws4 4:Files
set $ws5 5:KeePassXC
set $ws6 6:RTS
set $ws7 7:Chromium
set $ws8 8:Transmission
set $ws9 9:VM
set $ws10 10:Jami
set $wsF1 F1:P
set $wsF2 F2:STS
set $wsF3 F3:GVoice
set $wsF4 F4
set $wsF5 F5:RDP
set $wsF6 F6
set $wsF7 F7
set $wsF8 F8
set $wsF9 F9
set $wsF10 F10:MCN

Workspaces from 1 to 10 get proper order in waybar. But F1-F10 appears on the right next to previous opened one.

authors: Alexays Ventto dschrempf guanghwang kchibisov meklonets

repo: Alexays/Waybar


text:
Fix file-5.28 build fail

Please wait until I check the results of CI.

Tea bug.
It's fine.


text:
Add sample and library metadata to colData for merged objects

Closes #627
This PR updates the merged objects to include any sample metadata and some library metadata in the colData rather than in the metadata(sce).

For all non-multiplexed merged SCE's, I use the existing scpcaTools::metadata_to_coldata() function to add the sample metadata to the colData. Then I remove the sample_metadata from the metadata in the object so it's only present in the colData. Because we are removing it, I am able to add a check for if the sample_metadata is present in the metadata prior to conversion to AnnData so we don't accidentally try and add it to the colData twice.
I chose not to do this for multiplexed objects because we would have to merge by both the library_id and a sample_id column. However, we demultiplex using multiple methods, so I don't want us to decide which method to use to assign samples. I think it would be less confusing to just include the sample_metadata as part of the metadata, like we do for all other single libraries.
To accommodate this, I added an is_multiplexed argument to the script and then pass that in from Nextflow in a similar way to the has_adt. This means that if a project contains any multiplexed libraries then no sample metadata will be added to the colData, which I think is what we want to do.
Related to the point above, I filtered the output from merging sces to not convert any multiplexed libraries to AnnData.
For the library metadata, the only thing I thought was important to be easily accessible was the tech_version and assay_ontology_term_id. So I explicitly grab those from metadata$library_metadata and join with the colData. Let me know if there are other pieces of library metadata that should be included. See https://github.com/AlexsLemonade/scpca-docs/blob/main/docs/sce_file_contents.md#experiment-metadata for a full list.
Edit: I also chose to add seq_unit because I want to be able to display it in the merged report.

Thanks for the suggestions @jashapiro. I updated the variable name and use multiplexed throughout instead of is_multiplexed. I also updated the order of the inputs and outputs and use .take() instead of having another map command to remove one element.
I did try to add a stub run of the merge workflow to the GHA for checking the stub, however, we don't have the input files available on the repo. And I can't commit them unless we update our config for pre-commit to allow .rds files. Do we want to do that? Or do you have another suggestion on how to handle that?

And I can't commit them unless we update our config for pre-commit to allow .rds files. Do we want to do that? Or do you have another suggestion on how to handle that?

You can skip the precommit hooks with --no-verify, which is I think what we would want to do for a case like this:
git commit -m 'add stub rds files' --no-verify

Okay the tests are finally working as they should. I added a new stub library for the first project so that we have two input files. I also had to actually add the output for that project. I added all of the output, but do we just want to include the processed.rds file?

Okay the tests are finally working as they should. I added a new stub library for the first project so that we have two input files. I also had to actually add the output for that project. I added all of the output, but do we just want to include the processed.rds file?

I think if we can get away with just including the processed.rds files in the stub output that is probably the way to go.

Okay the tests are finally working as they should. I added a new stub library for the first project so that we have two input files. I also had to actually add the output for that project. I added all of the output, but do we just want to include the processed.rds file?

I think if we can get away with just including the processed.rds files in the stub output directory that is probably the way to go.

Okay, I removed all the extra files so we are just saving the processed.rds files in the repo.

LGTM, but I realized there is one question I have based on the fact that you didn't add the "fastq" files for the STUBR16. I think this may mean we are actually well off for #639, but I was still curious what was happening here.

Or maybe it means bad things are happening... it looks like it did run the STUBR16 process all the way through. Which seems less than ideal. (It would probably fail with real files when trying to run alevin, but that's still not great)

LGTM, but I realized there is one question I have based on the fact that you didn't add the "fastq" files for the STUBR16. I think this may mean we are actually well off for https://github.com/AlexsLemonade/scpca-nf/issues/639, but I was still curious what was happening here.

I honestly didn't even think to add them. Should I do that? The workflow seems to be running without them... that seems kind of concerning...

LGTM, but I realized there is one question I have based on the fact that you didn't add the "fastq" files for the STUBR16. I think this may mean we are actually well off for #639, but I was still curious what was happening here.

I honestly didn't even think to add them. Should I do that? The workflow seems to be running without them... that seems kind of concerning...

I think it works because the files are never actually used in the stub, and the file() call doesn't check that the files exist by default. So I think we are actually okay leaving it as is, and we can us3 this absence when implementing #639.

authors: allyhawkins jashapiro

repo: AlexsLemonade/scpca-nf


text:
Find the intersection point of two singly linked lists in Java.

Fixes Issue #136
Description
Implemented the solution to find the intersection point of two singly linked lists in Java.
Included algorithmic explanations, sample test cases as well as space and time complexities
This contribution is as a part of GSSOC'21.

Resolve the  conflict asap

repo: Algo-Phantoms/Algo-Tree


text:
Next

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

OS: [e.g. macos, linux, windows]
OS Version / Distribution: [e.g. 10.15.7, Ubuntu 20.04, Windows 10]
Version [e.g. 0.1.0]
Other: [e.g. python version, docker version, etc.]

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

GitHub release
crate.io packages (1 packages published)

Your semantic-release bot :package::rocket:

repo: AliSajid/gh-bofh-rs


text:
ModuleNotFoundError: No module named 'demo'

On Create a model and load checkpoints
I found:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-22-dbd18151b569> in <module>()
----> 1 from demo import load_checkpoints
      2 generator, kp_detector = load_checkpoints(config_path='config/vox-256.yaml',
      3                             checkpoint_path='/content/gdrive/My Drive/first-order-motion-model/vox-cpk.pth.tar')

ModuleNotFoundError: No module named 'demo'
---------------------------------------------------------------------------

Any idea to fix?
Thanks!

First order model folder should be pulled, and you should be in that folder please check.

Thanks for your reply!
Can you explain it more clearly?

Thank!

First order model folder should be pulled, and you should be in that folder please check.

Can you explain this a bit more?

You should run all cells in from top to bottom. First cell is git pull ...

authors: 1FireXY1 AliaksandrSiarohin GinCanhViet

repo: AliaksandrSiarohin/first-order-model


text:
Two small ideas from the first chapter

First of all, Great work!
I was reading the first chapter where you introduce the basic concepts of probability and I really liked what you did with the Pandas example and the conditional function.
I think this might be too much of an overhead for new readers, but I thought that it would be nice to overload the __or__ operator ( | ) to compute the conditional of two variables. This, however, requires a new class as the Pandas Series already uses the __or__ operator. Here is a minimal example:
class Prob:
    def __init__(self, series):
        self.series = series

    def __or__(self, other):
        if isinstance(other, Prob):
            return Prob(self.series[other.series])
        else:
            raise TypeError("unsupported operand type(s) for | : '{}' and '{}'".format(self.__class__, type(other)))

    def __and__(self, other):
        if isinstance(other, Prob):
            return Prob(self.series & other.series)
        else:
            raise TypeError("unsupported operand type(s) for & : '{}' and '{}'".format(self.__class__, type(other)))

    def mean(self):
        # So that it works with the prob function
        return self.series.mean()

This is how it looks in practice:
liberal = Prob(gss['polviews'] <= 3)
old = Prob(gss['age'] >= 65)

prob(liberal | old)
prob(liberal & old)

And you can now write the Bayes Formula almost without change:
prob_liberal_given_old = prob(old | liberal) * prob(liberal) / prob(old)
Anyway, I understand that this might be too much complexity for something that is probably not even relevant in the next chapters. My second suggestion was just to change the conditional function to have the second operator named given:
def conditional(A, given):
    """Conditional probability of A given "B".

    A: Boolean series
    given: Boolean series

    returns: probability
    """
    return prob(A[given])

This might make it easier to read the examples in the text, and understand exactly what is being conditioned on what:
conditional(liberal, given=female)

Thanks for these suggestions.  I agree with your conclusion that overriding the | operator might be going too far, but I like the idea of renaming the second argument of conditional.
Thank you!
On Wed, Sep 2, 2020, at 5:53 AM, ricardoV94 wrote:

First of all, Great work!

I was reading the first chapter where you introduce the basic concepts of probability and I really liked what you did with the Pandas example and the conditional function.

I think this might be too much of an overhead for new readers, but I thought that it would be nice to overload the __or__ operator ( | ) to compute the conditional of two variables. This, however, requires a new class as the Pandas Series already uses the __or__ operator. Here is a minimal example:

`class Prob:
def init(self, series):
self.series = series

def __or__(self, other):
    if isinstance(other, Prob):
        return Prob(self.series[other.series])
    else:
        raise TypeError("unsupported operand type(s) for | : '{}' and '{}'".format(self.__class__, type(other)))

def __and__(self, other):
    if isinstance(other, Prob):
        return Prob(self.series & other.series)
    else:
        raise TypeError("unsupported operand type(s) for & : '{}' and '{}'".format(self.__class__, type(other)))

def mean(self):
    # So that it works with the prob function
    return self.series.mean()

`

This is how it looks in practice:

`liberal = Prob(gss['polviews'] <= 3)
old = Prob(gss['age'] >= 65)

prob(liberal | old)
prob(liberal & old)
`

Anyway, I understand that this might be too much complexity for something that is probably not even relevant in the next chapters. My second suggestion was just to change the conditional function to have the second operator named given:

`def conditional(A, given):
"""Conditional probability of A given "B".

A: Boolean series
given: Boolean series

returns: probability
"""
return prob(A[given])

`

This might make it easier to read the examples in the text, and understand exactly what is being conditioned on what:

conditional(liberal, given=female)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/AllenDowney/ThinkBayes2/issues/34, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOLP3MIX3ZCFMFMVER33BTSDYI3BANCNFSM4QSZ4CIQ.


text:
这里错了吧

https://github.com/AllentDan/LibtorchDetection/blob/a6c7d4908ca29082813c73b7a468ac23a2c4e733/src/models/yolo_training.cpp#L254

why？

https://github.com/AllentDan/LibtorchDetection/blob/a6c7d4908ca29082813c73b7a468ac23a2c4e733/src/models/yolo_training.cpp#L355  和这里不一样

原版的 yolov4 tiny 就是这么处理的。相关 issue

repo: AllentDan/LibtorchDetection


text:
Create Roles Admin Panel

Description:

As CLARISA user loged, I want manage roles for CLARISA Services so that I need to create a admin Panel to manage roles into CLARISA
Add Screenshot
Tasks:

[x] Migration
[x] Backend
[x] Frontend

Deliverable or Expected outcome:

[x] Service
[x] Website or section

Additional comments:

We created a mockup here , After aprovation of mockup, we developed a interface with all services with frontend components

after review the funtionality of this section, we proceed to close this issue

The table is divided into two tabs, to identify the deactivated and activated, in addition the functionality of activating the role is created

repo: AllianceBioversityCIAT/CLARISA


text:
Upgrade commons-io from 2.6 to 2.7

hbase-client has a dependency to commons-io which also gets upgraded from this as a result but it seems okay.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10569/
Test PASSed.

does the hbase-client depend on commons-io? If so, which version does it depend on now, and which will the upgraded hbase-client depend on?

hbase-client also gets upgraded from 2.6 to 2.7 though the 2.6 to 2.7 looks so harmless.

alluxio-bot, merge this please

uhhhh

alluxio-bot, merge this please please?

authors: AmplabJenkins ZacBlanco bradyoo

repo: Alluxio/alluxio


text:
Refactor simple master services out of main master process classes

This PR refactors many of the simple master process components (the web server, grpc server, and others) out of their respective MasterProcess classes.
Motivation

As HA became the default mode of operation for the master process, all master tasks must be thought with the perspective of cycling between primary and standby modes and how to transition between these states (as opposed to simply starting and stopping)
Master Process tasks (like the web server and grpc server) used to always function in lockstep (for example, in the past, if the master process lost primacy it would always terminate both its grpc server and its web server). As these tasks have evolved, they no longer behave the same when gaining/losing primacy (for example, the grpc server may be stopped when losing primacy while the web server may stay up). This departure in behavior demands that they be handled differently and separately.

Benefits

Simple services can be added and removed at will. This is particularly useful for testing when one usually requires only a subset of the master’s features for a test to run to completion. This should speed up unit and integration tests.
Services can be tested in isolation to ensure correctness.
EE behavior can be separated out into its own service and file, making code sync between EE and OS much less prone to conflicts.
In the near future it will be easy to implement and enforce an ordering to said services. For example, if the web server needs to start before the journal, this ordering will be quite easy to implement and enforce based off of the implementation of MasterRegistry.
If advantageous, services could be able to start/promote/demote/stop in parallel from one another instead of sequentially. This could speed up tests and debugging sessions.

Implementation
Essential but simple Master Process tasks have been refactored behind the SimpleService interface. This interface defines only 4 functions: start, promote, demote, stop. These are to be called at the appropriate time within the Master Process (the appropriate time is left up the the implementor of the MasterProcess class).
Each service defines a factory which can return different implementation of said service based on configuration. In an effort to keep the code straightforward and legible, the is the only place where branching (a.k.a. if/else statements) based on configuration should be used. If you foresee start/promote/demote/stop having statements like if (Configuration.get… then it should be made into its own separate service.
Testing

I’ve included tests for all the new services to ensure they work as intended.
I’ve prepared a corresponding EE PR to resolve sync issues promptly

Could you make the different MasterProcess constructors private? So that everything is constructed by the factory. And make the factory configurable, so you could use specific factory functions for tests or normal, etc. For example the factory would always add the necessary services (rpc, etc). Then you could configure it to add any optional services (web, etc).

alluxio-bot, merge this please

@jenoudet @elega @jiacheliu3 After these PR, MasterProcess is moved from alluxio-core-server-common to alluxio-core-server-master , and alluxio-job-server have to dependent alluxio-core-server-master.
This is a little tricky, is there a way to move MasterProcess and AlluxioSimpleMasterProcess to alluxio-core-server-common , so that the alluxio-job-server can dependent alluxio-core-server-common ?

@maobaolong I'll take a look and let you know.

@jenoudet Appreciate, look forward to known more detail.

https://github.com/Alluxio/alluxio/pull/16851 @jenoudet submit a PR to resolve this issue, PTAL

alluxio-bot, cherry-pick this to branch-2.9 please

authors: Xenorith jenoudet jiacheliu3 maobaolong tcrain


text:
Modify go dependencies and code to be compatible with go1.15

downgrade viper dependency to be compatible
remove any native golang calls introduced in 16+
update version check for cli compilation script
add license check skip flag in tarball build

fyi @beinan

alluxio-bot, merge this please

alluxio-bot, merge this please


text:
[ALLUXIO-1834] Extract the async persistence handling from FileSystemMaster

The FileSystemMaster is quite fat. The async persistence logic can be extracted out into a separate component. In addition, this modularization paves the road to more sophisticated async persistence scheduling strategies.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9009/
Test PASSed.

Merged build finished. Test PASSed.

@yupeng9 I left a few comments. Also, could you resolve conflicts?
Thanks for this improvement!

@gpang thanks for the review. PTAL

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9127/
Test PASSed.

I left question for workerHeartbeat(). Thanks.

Thanks for the improvement!

LGTM

@gpang I also updated the docs, PTAL. Thanks.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9163/Failed Tests: 45org.alluxio:alluxio-core-server: 45alluxio.master.file.PermissionCheckTest.readDirInfoFailTestalluxio.master.file.PermissionCheckTest.createUnderRootFailTestalluxio.master.file.PermissionCheckTest.setOwnerSuccessTestalluxio.master.file.PermissionCheckTest.completeFileSuccessTestalluxio.master.file.PermissionCheckTest.renameUnderRootAsAdminTestalluxio.master.file.PermissionCheckTest.readSuccessTestalluxio.master.file.PermissionCheckTest.mkdirUnderRootByAdminTestalluxio.master.file.PermissionCheckTest.deleteFailTestalluxio.master.file.PermissionCheckTest.deleteUnderRootFailOnDirTestalluxio.master.file.PermissionCheckTest.readNotExecuteDirTestalluxio.master.file.PermissionCheckTest.completeFileFailTestalluxio.master.file.PermissionCheckTest.setStateFailTestalluxio.master.file.PermissionCheckTest.deleteSuccessTestalluxio.master.file.PermissionCheckTest.readDirIdFailTestalluxio.master.file.PermissionCheckTest.renameSuccessTestalluxio.master.file.PermissionCheckTest.freeNonNullDirectorySuccessTestalluxio.master.file.PermissionCheckTest.renameUnderRootFailTestalluxio.master.file.PermissionCheckTest.setOwnerFailTestalluxio.master.file.PermissionCheckTest.setAclSuccessTestalluxio.master.file.PermissionCheckTest.createSuccessTestalluxio.master.file.PermissionCheckTest.freeNonNullDirectoryFailTestalluxio.master.file.PermissionCheckTest.deleteSuccessBySuperuserTestalluxio.master.file.PermissionCheckTest.setGroupFailTestalluxio.master.file.PermissionCheckTest.deleteUnderRootFailedTestalluxio.master.file.PermissionCheckTest.freeFileFailTestalluxio.master.file.PermissionCheckTest.createUnderRootAsAdminTestalluxio.master.file.PermissionCheckTest.mkdirUnderRootByUserTestalluxio.master.file.PermissionCheckTest.renameFailByDstTestalluxio.master.file.PermissionCheckTest.renameFailNotByPermissionTestalluxio.master.file.PermissionCheckTest.renameUnderRootAsSupergroupTestalluxio.master.file.PermissionCheckTest.setStateSuccessTestalluxio.master.file.PermissionCheckTest.renameFailBySrcTestalluxio.master.file.PermissionCheckTest.readFileInfoFailTestalluxio.master.file.PermissionCheckTest.mkdirSuccessTestalluxio.master.file.PermissionCheckTest.deleteUnderRootFailOnFileTestalluxio.master.file.PermissionCheckTest.readFileIdFailTestalluxio.master.file.PermissionCheckTest.freeFileSuccessTestalluxio.master.file.PermissionCheckTest.setPermissionSuccessTestalluxio.master.file.PermissionCheckTest.setPermissionFailTestalluxio.master.file.PermissionCheckTest.mkdirFailTestalluxio.master.file.PermissionCheckTest.mkdirUnderRootBySupergroupTestalluxio.master.file.PermissionCheckTest.createFailTestalluxio.master.file.PermissionCheckTest.deleteSuccessBySupergroupTestalluxio.master.file.PermissionCheckTest.setAclFailByNotSuperUserTestalluxio.master.file.PermissionCheckTest.setGroupSuccessTest
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9167/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.client.RemoteBlockInStreamIntegrationTest.remoteReadLockTest[0]
Test FAILed.

This flaky test has been fixed in https://github.com/Alluxio/alluxio/pull/2974

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9172/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9228/Build result: FAILURE[...truncated 1663 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/s3/target/alluxio-underfs-s3-1.1.0-SNAPSHOT.jar to org.alluxio/alluxio-underfs-s3/1.1.0-SNAPSHOT/alluxio-underfs-s3-1.1.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/s3/target/alluxio-underfs-s3-1.1.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-underfs-s3/1.1.0-SNAPSHOT/alluxio-underfs-s3-1.1.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/assembly/pom.xml to org.alluxio/alluxio-assemblies/1.1.0-SNAPSHOT/alluxio-assemblies-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.1.0-SNAPSHOT/alluxio-shell-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.1.0-SNAPSHOT/alluxio-underfs-oss-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/target/alluxio-underfs-oss-1.1.0-SNAPSHOT.jar to org.alluxio/alluxio-underfs-oss/1.1.0-SNAPSHOT/alluxio-underfs-oss-1.1.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/target/alluxio-underfs-oss-1.1.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-underfs-oss/1.1.0-SNAPSHOT/alluxio-underfs-oss-1.1.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/client/pom.xml to org.alluxio/alluxio-keyvalue-client/1.1.0-SNAPSHOT/alluxio-keyvalue-client-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/hdfs/pom.xml to org.alluxio/alluxio-underfs-hdfs/1.1.0-SNAPSHOT/alluxio-underfs-hdfs-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/hdfs/target/alluxio-underfs-hdfs-1.1.0-SNAPSHOT.jar to org.alluxio/alluxio-underfs-hdfs/1.1.0-SNAPSHOT/alluxio-underfs-hdfs-1.1.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/hdfs/target/alluxio-underfs-hdfs-1.1.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-underfs-hdfs/1.1.0-SNAPSHOT/alluxio-underfs-hdfs-1.1.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/pom.xml to org.alluxio/alluxio-underfs-swift/1.1.0-SNAPSHOT/alluxio-underfs-swift-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/target/alluxio-underfs-swift-1.1.0-SNAPSHOT.jar to org.alluxio/alluxio-underfs-swift/1.1.0-SNAPSHOT/alluxio-underfs-swift-1.1.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/target/alluxio-underfs-swift-1.1.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-underfs-swift/1.1.0-SNAPSHOT/alluxio-underfs-swift-1.1.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.1.0-SNAPSHOT/alluxio-examples-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/pom.xml to org.alluxio/alluxio-core-server/1.1.0-SNAPSHOT/alluxio-core-server-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.1.0-SNAPSHOT/alluxio-keyvalue-common-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/pom.xml to org.alluxio/alluxio-underfs/1.1.0-SNAPSHOT/alluxio-underfs-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/pom.xml to org.alluxio/alluxio-underfs-glusterfs/1.1.0-SNAPSHOT/alluxio-underfs-glusterfs-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/target/alluxio-underfs-glusterfs-1.1.0-SNAPSHOT.jar to org.alluxio/alluxio-underfs-glusterfs/1.1.0-SNAPSHOT/alluxio-underfs-glusterfs-1.1.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/target/alluxio-underfs-glusterfs-1.1.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-underfs-glusterfs/1.1.0-SNAPSHOT/alluxio-underfs-glusterfs-1.1.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/integration/pom.xml to org.alluxio/alluxio-integration/1.1.0-SNAPSHOT/alluxio-integration-1.1.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.1.0-SNAPSHOT/alluxio-keyvalue-1.1.0-SNAPSHOT.pomchannel stopped
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9229/
Test PASSed.

@gpang PTAL

I just had a minor comment about the name of the variable/parameter. Looks good after that. Thanks!

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9254/
Test PASSed.

LGTM

authors: AmplabJenkins gpang uronce-cc yupeng9


text:
[SMALLFIX] add variable name for Preconditions.checknull of HdfsUnderFileSystemContractTest.java

add variable name for Preconditions.checknull of HdfsUnderFileSystemContractTest.java

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16825/
Test PASSed.

Merged build finished. Test PASSed.

authors: AmplabJenkins whatbeg


text:
[ALLUXIO-3050] Optimize performance of tiny read

https://alluxio.atlassian.net/browse/ALLUXIO-3050
This is the first PR to fix the tiny read performance issue, the goal of this PR is to reduce the number of computations for computing block IDs based on mPos for each call to updateStreams.
I did an experiment reading a 8GB file cached in Alluxio's memory tier with a 8B read buffer, the profiling of Alluxio client process shows that getBlockId and getCurrentBlockId takes more than 1/3 of the total time.

This PR changes the logic in updateStreams:

For streaming read, the block stream is updated based on whether the current block stream has all been consumed, we keep track of blockIdIndex instead of computing the index every time updateStreams is called.
For seek and skip, they can update streams based on computing the new block index from mPos.

I ran several experiments for reading a 4GB in memory file with an 8B read buffer with read type CACHE_PROMOTE. The improvement of read throughput for 1 thread is around 48% improvement.
But for 1 thread, comparing the read throughput with 1MB read buffer below, there is at least 2x slowdown for the 8B read buffer case, so there might still have space for optimization.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17334/
Test PASSed.

@calvinjia Could you explain a bit more? I'm a bit confused.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17342/
Test PASSed.

Thanks for the comments, I've updated the PR, PTAL.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17343/Failed Tests: 5org.alluxio:alluxio-core-client-fs: 1alluxio.client.file.FileInStreamTest.seekBackwardSmallSeekBuffer[2]org.alluxio:alluxio-tests: 4alluxio.client.FileInStreamIntegrationTest.eofSeekalluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[0]alluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[1]alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17344/Failed Tests: 5org.alluxio:alluxio-core-client-fs: 1alluxio.client.file.FileInStreamTest.seekBackwardSmallSeekBuffer[2]org.alluxio:alluxio-tests: 4alluxio.client.FileInStreamIntegrationTest.eofSeekalluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[0]alluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[1]alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17345/Failed Tests: 5org.alluxio:alluxio-core-client-fs: 1alluxio.client.file.FileInStreamTest.seekBackwardSmallSeekBuffer[2]org.alluxio:alluxio-tests: 4alluxio.client.FileInStreamIntegrationTest.eofSeekalluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[0]alluxio.client.RemoteReadIntegrationTest.seekAroundLocalBlock[1]alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17346/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17347/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17348/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17349/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17350/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17351/Build result: FAILURE[...truncated 819 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17352/Build result: FAILURE[...truncated 818 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17353/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17359/Build result: FAILURE[...truncated 817 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17360/Build result: FAILURE[...truncated 840 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17362/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17366/Build result: FAILURE[...truncated 818 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder@2/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17364/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17365/
Test PASSed.

@uronce-cc What I meant was we currently have two methods update...onRead and update..onSeek. Instead, we could just have update and have it do the expensive computation if mCurrentBlockIndex == -1, then if we seek somewhere, we can set the index to -1

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17367/Build result: FAILURE[...truncated 819 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

@calvinjia I think your proposal is similar to have a boolean to switch between the two types of reads, but after further optimization, the two methods are quite different now, PTAL, thanks.

@apc999 I've updated the PR with further optimizations, I'm running the performance testing.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17370/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17371/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17373/
Test PASSed.

1.7.0-SNAPSHOT represents the version with the latest PR, the performance is a bit better(2%) comparing to the initial PR, this is because the microbench read test contains no seek or skip operation, with seek or skip, the performance gain should be more obvious.

@uronce-cc I think unless we see enough performance gain, I would suggest not using bit-shift operations but still divisions to keep code easier to read and maintain. Otherwise, I am good with this PR.

@apc999 SG, I removed the division optimization since the performance gain is just 2%, which is nearly zero if we take variance into account.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17387/
Test PASSed.

@apc999 @gpang Thanks for the comments, I've updated the PR, PTAL.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17392/
Test PASSed.

Merged build finished. Test PASSed.

@gpang @apc999 @calvinjia I refactored the PR to put position related variables into a new class PositionState, this approach is inspired by Gene, thanks.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17403/Build result: FAILURE[...truncated 817 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

For the UnknownLengthFileInStream, I did some refactoring to make it explicit that the file is expected to have just one block, so the file length is determined by the first block's size.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17405/Failed Tests: 2org.alluxio:alluxio-tests: 2alluxio.client.UnderStorageReadIntegrationTest.seekalluxio.master.JournalShutdownIntegrationTest.multiMasterMountUnmountJournal
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17406/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.client.UnderStorageReadIntegrationTest.seek
Test FAILed.

jenkins, test this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17412/Failed Tests: 3org.alluxio:alluxio-core-client-fs: 3alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[0]alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[1]alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[2]
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17413/Failed Tests: 3org.alluxio:alluxio-core-client-fs: 3alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[0]alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[1]alluxio.client.file.FileInStreamTest.seekToEOFBeforeReadingFirstBlock[2]
Test FAILed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17414/
Test PASSed.

jenkins, test this please

@apc999 @calvinjia @gpang @yupeng9 PTAL, I'm blocked on this to do further improvements, thanks.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17415/
Test PASSed.

Merged build finished. Test PASSed.

jenkins, test this please

@apc999 @calvinjia @gpang any more comments?

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17419/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17442/Build result: FAILURE[...truncated 817 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/dependency-reduced-pom.xml to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/protobuf/target/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-protobuf/1.7.0-SNAPSHOT/alluxio-core-protobuf-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.7.0-SNAPSHOT/alluxio-keyvalue-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/pom.xml to org.alluxio/alluxio-parent/1.7.0-SNAPSHOT/alluxio-parent-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/server/pom.xml to org.alluxio/alluxio-keyvalue-server/1.7.0-SNAPSHOT/alluxio-keyvalue-server-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/oss/pom.xml to org.alluxio/alluxio-underfs-oss/1.7.0-SNAPSHOT/alluxio-underfs-oss-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.0-SNAPSHOT/alluxio-core-client-hdfs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.0-SNAPSHOT/alluxio-keyvalue-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.0-SNAPSHOT/alluxio-core-client-fs-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

@gpang I removed mCurrentBlockId, mCurrentBlockStartPos, and mCurrentBlockEndPos, PTAL.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17443/
Test PASSed.

Merged build finished. Test PASSed.

@gpang @yupeng9 Comments are resolved, PTAL, thanks.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17445/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17449/
Test PASSed.

@calvinjia any more comments?

@uronce-cc I had a discussion with @calvinjia , let's have a in-person discussion on this PR to address some concerns.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17464/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17465/
Test PASSed.

After discussion with @calvinjia and @apc999, we decided to hold this PR until another PR for refactoring the caching logic in FileInStream is merged.

@apc999 @calvinjia The issue we talked about the sync between the position states and the updateStreams also exists in the original codebase, to remove the manual sync of updateStreams, we almost need to rewrite the FileInStream class.
I think the current PR addresses the performance issue in maintaining position related states well, so I propose to get this PR in before @apc999 doing the refactoring of the caching logic.
@gpang @yupeng9 What do you think?

I prefer the current state of the PR, mainly because it is a less drastic change to each instream method. This PR optimizes the position accesses and updates by keeping track of some state instead of recomputing that state. It makes sense that those are all enclosed in the PosititionState class.
The actual streams can be updated according to the position, as it was done previously.
If you want to refactor it further, it might be easier to implement/review if it was done in a separate PR, and not this one. Those are my thoughts.

+1 to merging this PR. This is a strict improvement with better modularization, performance and code readability.

@uronce-cc LGTM

authors: AmplabJenkins apc999 calvinjia gpang uronce-cc yupeng9


text:
Rocky logos package split

The Rocky data needs the same fix that Oracle received in https://github.com/AlmaLinux/leapp-data/commit/fcb09336bb56850f5de32b2f07d4c2881db6cc61

Added new action https://pes.almalinux.org/view_action/2219
Will sync json with PES soon

New version of leapp-data-rocky package was released

authors: andrewlukoshko coffmant

repo: AlmaLinux/leapp-data


text:
Notification bar doean't change color after accent change

If you chamge the accent color in the alovoa for example into the blue color,  the title bar remains the pink color and doesn't change into the blue color.
it would probably look better if it followed accent color.

The status bar color is currently hard coded in the manifest. I don't think it's possible to change the status bar color dynamically.
https://github.com/Alovoa/alovoa-android/blob/cd53a139a4ec3f0b198cfdf8bcdd65fa229cc2fc/app/src/main/AndroidManifest.xml#L25-L27

repo: Alovoa/alovoa-android