TAR archive has only 20kb when application high load
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comience con la reproducción de TarArchiveWriter proporcionada, especialmente con Write, GetResult y Dispose, y reproduzca la creación del archivo bajo la carga de trabajo MVC de .NET Framework 4.8 descrita. Compruebe si los paquetes TAR resultantes contienen todo el contenido escrito y determine la causa de la salida de aproximadamente 20 KB; en el issue no se menciona ningún archivo de proyecto ni ninguna prueba.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
I have .net framework 4.8 application. I'm building TAR archive from multiple memory streams, everything goes ok when application has low load. After executing performance tests, TAR building crashes. Every package after high load has only 20kb.
Reproduction Code
public class TarArchiveWriter : IArchiveWriter
{
private readonly MemoryStream _memoryStream;
private readonly TarOutputStream _tarOutputStream;
private readonly List<IDisposable> _toDispose = new List<IDisposable>();
public string Extension => "tar";
public TarArchiveWriter()
{
_memoryStream = new MemoryStream();
_tarOutputStream = new TarOutputStream(_memoryStream, Encoding.UTF8);
}
public void Write(string path, string xml)
{
var bytes = Encoding.UTF8.GetBytes(xml);
Write(path, bytes);
}
public void Write(string path, byte[] content)
{
var entry = TarEntry.CreateTarEntry(path);
entry.Size = content.Length;
_tarOutputStream.PutNextEntry(entry);
var binaryWriter = new BinaryWriter(_tarOutputStream);
_toDispose.Add(binaryWriter);
binaryWriter.Write(content);
binaryWriter.Flush();
_tarOutputStream.CloseEntry();
}
public void Write(string path)
{
var entry = TarEntry.CreateTarEntry(path);
_tarOutputStream.PutNextEntry(entry);
}
public byte[] GetResult()
{
_tarOutputStream.Close();
return _memoryStream?.ToArray();
}
public void Dispose()
{
foreach (var disposable in _toDispose)
{
disposable?.Dispose();
}
_tarOutputStream?.Dispose();
_memoryStream?.Dispose();
_toDispose.Clear();
}
}
Steps to reproduce
- Create .net MVC application on framework 4.8
- Run high load, performance tests
- Try to build TAR Archive from memory streams
- Every package has 20kb
Expected behavior
Package should be build properly
Operating System
Windows
Framework Version
.NET Framework 4.x
Tags
Tar
Additional context
No response
- Lenguaje dominante
- C#
- Estrellas
- 3.9k
- Forks
- 1k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de icsharpcode/SharpZipLib
-
*no response* bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
icsharpcode/SharpZipLib#905 · 1 comentario ·
-
bug bzip2
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
icsharpcode/SharpZipLib#904 ·
-
SetLevel in ZipFile Abiertoenhancement zip
Dificultad 2/5 1-2 días Aptitud para principiantes 55/100
icsharpcode/SharpZipLib#903 ·
-
*no response* bug
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
icsharpcode/SharpZipLib#901 · 1 comentario ·
-
*no response* bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
icsharpcode/SharpZipLib#894 · 1 comentario ·
Todos los issues de icsharpcode/SharpZipLib
Issues similares
-
core dependencies
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
-
bug frontend good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Down / Waiting for removal
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100