薛宇豪
08/26/2025, 8:54 AMingress.hosts.paths. Is it possible to directly modify this configuration? However, I see the frontend JS has a hardcoded `export const API_ENDPOINT = '/api/v1'`; https://github.com/treeverse/lakeFS/blob/master/webui/src/lib/api/index.js#L1Carlos Luque
09/02/2025, 8:18 AMKungim
09/03/2025, 7:28 AMJose Ignacio Gascon Conde
09/03/2025, 8:12 AMhelm_release resource, and I'm hoping someone might have some insight. Passing configuration via `values`: I've tried passing the configuration using both the lakefsConfig key and the config key (as shown on Artifact Hub). In both cases, helm get values lakefs confirms that Helm receives the correct values from Terraform. However, the resulting ConfigMap in the cluster is still the default one.Mingke Wang
09/03/2025, 3:01 PMCarlos Luque
09/04/2025, 8:18 AMJiadong Bai
03/16/2025, 9:29 PMIon
09/16/2025, 12:45 PMSignatureDoesNotMatch
the request signature we calculated does not match the signature you provided. Check your key and signing method.
Any ideas, I found a issue in the repo that also points to boto, but I am using obstore (object-store-rs)Carlos Luque
09/17/2025, 3:12 PM薛宇豪
09/18/2025, 6:33 AMmake build-docker doesn't seem to generate a docker image with my local code. Is it still pulling the GitHub code for the build?Carlos Luque
09/22/2025, 10:36 AMHT
09/25/2025, 10:35 AMclient = lakefs_sdk.client.LakeFSClient(lakefs_conf)
res = []
for object_path in paths:
response = client.objects_api.stat_object(repository=repo,
ref=commit,
path=object_path,
presign=presign)
res.append(response.physical_address)
Can client be used in multi processing ?
import concurrent.futures
import os
def stat_object_path(args):
client, repo, commit, presign, object_path = args
response = client.objects_api.stat_object(
repository=repo,
ref=commit,
path=object_path,
presign=presign
)
return response.physical_address
def get_physical_addresses(client, repo, commit, presign, paths):
with concurrent.futures.ThreadPoolExecutor(max_workers=alot) as executor:
res = list(executor.map(
stat_object_path,
[(client, repo, commit, presign, p) for p in paths]
))
return res
client = lakefs_sdk.client.LakeFSClient(lakefs_conf)
res = get_physical_addresses(client, repo, commit, presign, paths)Amihay Gonen
09/29/2025, 11:00 PMD ATTACH 'lakefs' AS main_branch (
TYPE iceberg,
SECRET lakefs_credentials,
-- notice the "/relative_to/.../" part:
ENDPOINT 'https://.../relative_to/repo.main/api'
);
Invalid Input Error:
CatalogConfig required property 'defaults' is missing
this error is mislead (https://github.com/duckdb/duckdb-iceberg/issues/297#issuecomment-2973232577)
it seems the problem is with endpoint , but I can't understand what is the issueManuele Nolli
10/01/2025, 2:29 PMAccessDenied arn:aws:sts::XXXX:assumed-role/YYYY/i-AAAA is not authorized to perform: s3:GetObject on resource: ...
My bucket policy includes:
{
"Sid": "lakeFSObjects",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXX:role/[ROLE_NAME]"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::[BUCKET NAME]/*"
},
I’m not sure if it’s related, but I also cannot download the file using the LakeFS Python library.
For reference, my bucket is located in eu-central-1.
Does anyone have suggestions on how to resolve this issue?
Thank you in advance!John McCloud
10/01/2025, 4:19 PMAmit Varde
10/08/2025, 9:44 PM[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ /opt/lakefs/latest/lakefs --config /etc/lakefs/poc-01-newton-config.yaml run
INFO[0000]/home/runner/work/lakeFS/lakeFS/cmd/lakefs/cmd/root.go:130 <http://github.com/treeverse/lakefs/cmd/lakefs/cmd.initConfig()|github.com/treeverse/lakefs/cmd/lakefs/cmd.initConfig()> Configuration file fields.file=/etc/lakefs/poc-01-newton-config.yaml file=/etc/lakefs/poc-01-newton-config.yaml phase=startup
FATA[0000]/home/runner/work/lakeFS/lakeFS/cmd/lakefs/cmd/root.go:114 <http://github.com/treeverse/lakefs/cmd/lakefs/cmd.LoadConfig()|github.com/treeverse/lakefs/cmd/lakefs/cmd.LoadConfig()> Load config error="decoding failed due to the following error(s):\n\n'database' has invalid keys: dynamodb_table_name" phase=startupJonny Friedman
10/10/2025, 7:19 PMRefsApi.log_commits() function, but there appears to be an internal issue with conflicting return types (function promises a CommitList but actually returns str) that causes an unavoidable 500 when trying to invoke it. Poking through the source, I've managed to get a working call via a request to
url = f"{config.lakefs_url}/api/v1/repositories/{repo_name}/refs/main/commits"
but this learning process has taken me much longer than I would have liked to arrive at this.
First started using LakeFS a few weeks ago, so there might be meta knowledge gaps over what docs to be using or best practice patterns. Open to all feedback, thanks!Ion
10/13/2025, 4:19 PMput the exact same file into the object-store on lakefs, then the uncomitted changes would show empty since there is no change? Is that correct?
At least this is what I am seeing because I expect to see changes in the branch, but there werentTimothy Mak
10/14/2025, 1:35 AMlakectl local to version control my data directory. Is there a .gitignore type file I can use where I can exclude certain data in the directory?Timothy Mak
10/14/2025, 4:33 AMlakectl local commit, it will try to remove and upload everything again. Is there anyway to tell lakefs that I'm simply doing a rename?Chris
10/17/2025, 8:06 PMmacosx I used the FreeBSD tool paste to build a command. paste, unfortunately, did not implement macOSX policy regarding carriage returns, which apparently macOSX was using on the file.
As a result, paste injected \r characters (0x0D) that even vim was insensitive to (although tr was, so it does appear the file was valid, in some sense), and which bypassed python sanitization to be deposited directly in the datalake unescaped, in raw form.
When querying these files via the lakectl tool, they are not accessible. A lakectl fs ls chokes on the result, yielding a corrupted `common_prefix`:
common_prefix 1536.1350/
/ommon_prefix 1539.1980
-- here you can see the `\r`s are not handled.
As a result I can neither rename nor access the files. Has anyone encountered this problem, and if you have, is there a solution?Carlos Luque
10/21/2025, 6:42 AMCarlos Luque
10/22/2025, 10:46 AMspark-submit --class io.treeverse.gc.GarbageCollection \
--packages org.apache.hadoop:hadoop-aws:2.7.7 \
-c spark.hadoop.lakefs.api.url=<https://lakefs.example.com:8000/api/v1> \
-c spark.hadoop.lakefs.api.access_key=<LAKEFS_ACCESS_KEY> \
-c spark.hadoop.lakefs.api.secret_key=<LAKEFS_SECRET_KEY> \
-c spark.hadoop.fs.s3a.access.key=<S3_ACCESS_KEY> \
-c spark.hadoop.fs.s3a.secret.key=<S3_SECRET_KEY> \
<http://treeverse-clients-us-east.s3-website-us-east-1.amazonaws.com/lakefs-spark-client/0.16.0/lakefs-spark-client-assembly-0.16.0.jar> \
example-repo us-east-1
And I got this error, any idea?
Exception in thread "main" java.lang.NullPointerException
at io.treeverse.clients.ApiClient$$anon$7.get(ApiClient.scala:224)
at io.treeverse.clients.ApiClient$$anon$7.get(ApiClient.scala:220)
at dev.failsafe.Functions.lambda$toCtxSupplier$11(Functions.java:243)
at dev.failsafe.Functions.lambda$get$0(Functions.java:46)
at dev.failsafe.internal.RetryPolicyExecutor.lambda$apply$0(RetryPolicyExecutor.java:74)
at dev.failsafe.SyncExecutionImpl.executeSync(SyncExecutionImpl.java:193)
at dev.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:376)
at dev.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:112)
at io.treeverse.clients.RequestRetryWrapper.wrapWithRetry(ApiClient.scala:325)
at io.treeverse.clients.ApiClient.getBlockstoreType(ApiClient.scala:235)
at io.treeverse.gc.GarbageCollection$.run(GarbageCollection.scala:150)
at io.treeverse.gc.GarbageCollection$.main(GarbageCollection.scala:109)
at io.treeverse.gc.GarbageCollection.main(GarbageCollection.scala)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:966)
at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:191)
at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:214)
at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1054)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1063)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Spark version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.2.4
/_/
Using Scala version 2.12.15, OpenJDK 64-Bit Server VM, 11.0.29
Branch HEAD
Compiled by user centos on 2023-04-09T20:59:10Z
Revision 0ae10ac18298d1792828f1d59b652ef17462d76e
Url <https://github.com/apache/spark>
Type --help for more information.
LakeFS version 1.29.0
Thanks heart lakefsRob Newman
10/23/2025, 6:05 PMRudra Prasad Dash
10/29/2025, 6:36 AMΓιάννης Μαντιός
10/30/2025, 4:42 PMmake build. The command reaches the following point: /usr/local/go/bin/go build -o lakefs -ldflags "-X <http://github.com/treeverse/lakefs/pkg/version.Version=dev-c5680959f.with.local.changes|github.com/treeverse/lakefs/pkg/version.Version=dev-c5680959f.with.local.changes>" -v ./cmd/lakefs and then crashes with this error: pkg/api/lakefs.gen.go:23001:30: undefined: openapi3.Swagger
pkg/api/lakefs.gen.go:23011:27: undefined: openapi3.NewSwaggerLoader
make: *** [build-binaries] Error 1. Checking the piece of code apparently there is an error with that specific package which doesn’t existIon
11/07/2025, 8:11 AMTimothy Mak
11/10/2025, 1:21 AMlakectl local more like git? I would just like to say, I have so far really enjoyed using lakefs, and it seems to be the answer to my pain point for a long time. I mainly use it as I would use git -- to version data through the lakectl local interface. However, compared to git, it's missing quite a lot of features, which makes it, while useable, somewhat finicky when I want to do things in certain ways. Here I list a few examples:
1. I would like to checkout only a directory or file rather than the entire repository for a commit with lakectl checkout.
2. I would like to examine changes to certain files between different commits, similar to git difftool
.
Are there plans to include features such as the above in the near future? Or am I not quite using lakefs in the intended way?Timothy Mak
11/10/2025, 1:25 AMlakectl mv command that can handle renaming. I would just like to know, if I simply rename a folder, since lakefs will remove and re-upload everything, does it mean that I will also double the storage usage, since lakefs tracks changes to my directory?Ali Risheh
11/13/2025, 11:30 PMstatObject(repoName, commitHash, filePath).presign(true).execute().getPhysicalAddress
But it does not support filename (content disposition header), I went through full library io.lakefs but there is no option to add headers to presigned URL, the only option is to use S3 API and use LakeFS directly which is not standard. Is there any way that LakeFS add filename to presigned URL coming from MinIO?