You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My system meets the minimum system requirements of Sentry
Steps to Reproduce
1、I have run my own instance of Sentry , and override this setting “system.maximum-file-size” to 4G
diff document like this:
diff --git a/src/sentry/db/models/fields/bounded.py b/src/sentry/db/models/fields/bounded.py
index f5638b7..a8e3398 100644
--- a/src/sentry/db/models/fields/bounded.py
+++ b/src/sentry/db/models/fields/bounded.py
@@ -4,6 +4,7 @@ from django.conf import settings
from django.db import models
from django.db.backends.base.base import BaseDatabaseWrapper
from django.utils.translation import ugettext_lazy as _
++from django.db.models.fields import PositiveIntegerRelDbTypeMixin, BigIntegerField
all = (
"BoundedAutoField",
@@ -13,6 +14,20 @@ all = (
"BoundedPositiveIntegerField",
)
2、next I build it
docker build -t sentry-builder -f ./docker/builder.dockerfile .
docker run --rm -v .:/workspace sentry-builder
// Modify ./dist/requirements-frozen.txt sentry-relay from 0.8.13 to 0.8.24
docker build -t sentry-22.7.0-local -f docker/Dockerfile .
3、 I also modified .env
diff --git a/.env b/.env
index 0a7bae2..f2b7433 100644
--- a/.env
+++ b/.env
@@ -5,7 +5,8 @@ SENTRY_EVENT_RETENTION_DAYS=90
SENTRY_BIND=9000
// Set SENTRY_MAIL_HOST to a valid FQDN (host/domain name) to be able to send emails!
// SENTRY_MAIL_HOST=example.com
--SENTRY_IMAGE=getsentry/sentry:22.7.0
++SENTRY_IMAGE=sentry-22.7.0-local:latest
4、Use sentry-cli upload a pdb file , size more then 2G
5、 ERROR electron.exe.pdb internal server erro
Expected Result
the pdb file upload success , and assemble success .
Self-Hosted Version
22.7.0
CPU Architecture
x86_x64
Docker Version
27.3.1, build ce12230
Docker Compose Version
2.22.0
Machine Specification
Steps to Reproduce
1、I have run my own instance of Sentry , and override this setting “system.maximum-file-size” to 4G
diff document like this:
diff --git a/src/sentry/db/models/fields/bounded.py b/src/sentry/db/models/fields/bounded.py
index f5638b7..a8e3398 100644
--- a/src/sentry/db/models/fields/bounded.py
+++ b/src/sentry/db/models/fields/bounded.py
@@ -4,6 +4,7 @@ from django.conf import settings
from django.db import models
from django.db.backends.base.base import BaseDatabaseWrapper
from django.utils.translation import ugettext_lazy as _
++from django.db.models.fields import PositiveIntegerRelDbTypeMixin, BigIntegerField
all = (
"BoundedAutoField",
@@ -13,6 +14,20 @@ all = (
"BoundedPositiveIntegerField",
)
++class PositiveBigIntegerField(PositiveIntegerRelDbTypeMixin, BigIntegerField):
++ description = _("Positive big integer")
++
++ def get_internal_type(self):
++ return "BigIntegerField"
++
++ def formfield(self, **kwargs):
++ return super().formfield(
++ **{
++ "min_value": 0,
++ **kwargs,
++ }
++ )
++
class BoundedIntegerField(models.IntegerField): # type: ignore
MAX_VALUE = 2147483647
@@ -24,6 +39,16 @@ class BoundedIntegerField(models.IntegerField): # type: ignore
return cast(int, super().get_prep_value(value))
++class BoundedPositiveBigIntegerField(PositiveBigIntegerField): # type: ignore
++ MAX_VALUE = 4294967295 # LOOKHERE: for bigger debug information file
++
++ def get_prep_value(self, value: int) -> int:
++ if value:
++ value = int(value)
++ assert value <= self.MAX_VALUE
++ return cast(int, super().get_prep_value(value))
++
++
class BoundedPositiveIntegerField(models.PositiveIntegerField): # type: ignore
MAX_VALUE = 2147483647
diff --git a/src/sentry/models/file.py b/src/sentry/models/file.py
index ae519ff..d9e1c5f 100644
--- a/src/sentry/models/file.py
+++ b/src/sentry/models/file.py
@@ -24,6 +24,8 @@ from sentry.db.models import (
JSONField,
Model,
)
++from sentry.db.models.fields.bounded import BoundedPositiveBigIntegerField
from sentry.tasks.files import delete_file as delete_file_task
from sentry.tasks.files import delete_unreferenced_blobs
from sentry.utils import metrics
@@ -38,7 +40,8 @@ UPLOAD_RETRY_TIME = getattr(settings, "SENTRY_UPLOAD_RETRY_TIME", 60) # 1min
DEFAULT_BLOB_SIZE = 1024 * 1024 # one mb
CHUNK_STATE_HEADER = "__state"
MULTI_BLOB_UPLOAD_CONCURRENCY = 8
--MAX_FILE_SIZE = 231 # 2GB is the maximum offset supported by fileblob
++MAX_FILE_SIZE = 232 # 4GB
class nooplogger:
@@ -323,7 +326,7 @@ class File(Model):
timestamp = models.DateTimeField(default=timezone.now, db_index=True)
headers = JSONField()
blobs = models.ManyToManyField("sentry.FileBlob", through="sentry.FileBlobIndex")
-- size = BoundedPositiveIntegerField(null=True)
++ size = BoundedPositiveBigIntegerField(null=True)
checksum = models.CharField(max_length=40, null=True, db_index=True)
@@ -481,7 +484,7 @@ class FileBlobIndex(Model):
file = FlexibleForeignKey("sentry.File")
blob = FlexibleForeignKey("sentry.FileBlob", on_delete=models.PROTECT)
-- offset = BoundedPositiveIntegerField()
++ offset = BoundedPositiveBigIntegerField()
class Meta:
app_label = "sentry"
diff --git a/src/sentry/options/defaults.py b/src/sentry/options/defaults.py
index 26a2c75..305653d 100644
--- a/src/sentry/options/defaults.py
+++ b/src/sentry/options/defaults.py
@@ -38,7 +38,7 @@ register("system.root-api-key", flags=FLAG_PRIORITIZE_DISK)
register("system.logging-format", default=LoggingFormat.HUMAN, flags=FLAG_NOSTORE)
register("system.upload-url-prefix", flags=FLAG_PRIORITIZE_DISK)
--register("system.maximum-file-size", default=231, flags=FLAG_PRIORITIZE_DISK)
++register("system.maximum-file-size", default=232, flags=FLAG_PRIORITIZE_DISK)
2、next I build it
docker build -t sentry-builder -f ./docker/builder.dockerfile .
docker run --rm -v .:/workspace sentry-builder
// Modify ./dist/requirements-frozen.txt sentry-relay from 0.8.13 to 0.8.24
docker build -t sentry-22.7.0-local -f docker/Dockerfile .
3、 I also modified .env
diff --git a/.env b/.env
index 0a7bae2..f2b7433 100644
--- a/.env
+++ b/.env
@@ -5,7 +5,8 @@ SENTRY_EVENT_RETENTION_DAYS=90
SENTRY_BIND=9000
// Set SENTRY_MAIL_HOST to a valid FQDN (host/domain name) to be able to send emails!
// SENTRY_MAIL_HOST=example.com
--SENTRY_IMAGE=getsentry/sentry:22.7.0
++SENTRY_IMAGE=sentry-22.7.0-local:latest
4、Use sentry-cli upload a pdb file , size more then 2G
5、 ERROR electron.exe.pdb internal server erro
Expected Result
the pdb file upload success , and assemble success .
thank your very much !
Actual Result
Event ID
No response
The text was updated successfully, but these errors were encountered: