mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 04:51:24 +07:00
IJ-MR-182960-to-253
[pycharm] PY-85729 Post-cherry-pick fixes [pycharm] PY-85729 Fix stress test on Windows [pycharm] PY-85729 Fix smoke tests [pycharm] PY-85729 Add visibility attribute to plugin config [pycharm] PY-85729 Add a coroutine cleanup test [pycharm] PY-85729 Add a stress env test [pycharm] PY-85729 Minor cosmetic fixes [pycharm] PY-85729 Performance improvement: add debounce to reduce the amount of GC garbage [pycharm] PY-85729 Fix potential OOM: adjust limits [pycharm] PY-85729 Fix potential OOM: add cancellation logic for background process observer The background error process observation logic didn't cancel the coroutines, making them last for way longer than needed. Cancellation logic was added to remedy this. [pycharm] PY-85729 Fix OOM: Force LazyTree recomposition on tree change It looks like LazyTree composable hogs memory by keeping track of all the previous trees; this is bad for our use case as any snapshot change to the tree will be saved, causing potential OOM by not freeing the processes. This is fixed by forcing a recomposition on each tree change (via key(tree)). Merge-request: IJ-MR-183264 Merged-by: David Lysenko <david.lysenko@jetbrains.com> GitOrigin-RevId: 6a3f71219da1b8577b26d35ce73846685314eb3d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cd499f175b
commit
7ae15dd8d4
@@ -7,7 +7,6 @@ import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.util.io.awaitExit
|
||||
import com.intellij.util.io.readLineAsync
|
||||
import com.intellij.util.io.toByteArray
|
||||
import com.jetbrains.python.TraceContext
|
||||
import com.jetbrains.python.errorProcessing.Exe
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@@ -21,22 +20,21 @@ import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.io.BufferedReader
|
||||
import java.io.ByteArrayInputStream
|
||||
import java.io.IOException
|
||||
import java.io.InputStream
|
||||
import java.io.InputStreamReader
|
||||
import java.io.OutputStream
|
||||
import java.nio.ByteBuffer
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
|
||||
internal object LoggingLimits {
|
||||
@ApiStatus.Internal
|
||||
object LoggingLimits {
|
||||
/**
|
||||
* The maximum buffer size of a LoggingProcess
|
||||
*/
|
||||
const val MAX_OUTPUT_SIZE = 10_000_000
|
||||
const val MAX_OUTPUT_SIZE = 100_000
|
||||
const val MAX_LINES = 1024
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user