> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات الجلسة insert_keeper_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُولَّدة insert_keeper_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

هذه الإعدادات متوفرة في [system.settings](/docs/ar/reference/system-tables/settings)، وقد أُنشئت تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="insert_keeper_fault_injection_probability">
  ## insert\_keeper\_fault\_injection\_probability
</div>

<SettingsInfoBlock type="Float" default_value="0" />

الاحتمال التقريبي لفشل طلب Keeper أثناء إدراج. القيمة الصالحة تقع ضمن النطاق \[0.0f, 1.0f]

<div id="insert_keeper_fault_injection_seed">
  ## insert\_keeper\_fault\_injection\_seed
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

0 - قيمة ابتدائية عشوائية، وإلا فقيمة الإعداد

<div id="insert_keeper_max_retries">
  ## insert\_keeper\_max\_retries
</div>

<SettingsInfoBlock type="UInt64" default_value="20" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "20"},{"label": "تمكين إعادة الاتصال بـ Keeper عند INSERT لتحسين الموثوقية"}]}]} />

يحدد هذا الإعداد الحد الأقصى لعدد مرات إعادة المحاولة لطلبات ClickHouse Keeper (أو ZooKeeper) أثناء الإدراج في Replicated MergeTree. ولا تُؤخذ في الاعتبار لإعادة المحاولة إلا طلبات Keeper التي فشلت بسبب خطأ في الشبكة، أو مهلة جلسة Keeper، أو مهلة الطلب.

القيم الممكنة:

* عدد صحيح موجب.
* 0 — إعادة المحاولة معطّلة

تُجرى إعادة محاولة طلبات Keeper بعد مهلة معيّنة. ويتم التحكم في هذه المهلة بواسطة الإعدادات التالية: `insert_keeper_retry_initial_backoff_ms`, `insert_keeper_retry_max_backoff_ms`.
تُجرى أول إعادة محاولة بعد مهلة `insert_keeper_retry_initial_backoff_ms`. أما المهل اللاحقة فسيتم حسابها كما يلي:

```
timeout = min(insert_keeper_retry_max_backoff_ms, latest_timeout * 2)
```

على سبيل المثال، إذا كانت `insert_keeper_retry_initial_backoff_ms=100` و`insert_keeper_retry_max_backoff_ms=10000` و`insert_keeper_max_retries=8`، فستكون قيم انتهاء المهلة `100, 200, 400, 800, 1600, 3200, 6400, 10000`.

وبالإضافة إلى تحمّل الأعطال، تهدف عمليات إعادة المحاولة إلى تحسين تجربة المستخدم، إذ تتيح تجنّب إرجاع خطأ أثناء تنفيذ INSERT إذا أُعيد تشغيل Keeper، على سبيل المثال بسبب الترقية.

<div id="insert_keeper_retry_initial_backoff_ms">
  ## insert\_keeper\_retry\_initial\_backoff\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="100" />

مهلة الانتظار الأولية (بالمللي ثانية) قبل إعادة محاولة طلب Keeper فاشل أثناء تنفيذ استعلام إدراج

القيم الممكنة:

* عدد صحيح موجب.
* 0 — بدون مهلة

<div id="insert_keeper_retry_max_backoff_ms">
  ## insert\_keeper\_retry\_max\_backoff\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="10000" />

الحد الأقصى للمهلة الزمنية (بالملي ثانية) لإعادة محاولة طلب Keeper فاشل أثناء تنفيذ استعلام إدراج

القيم الممكنة:

* عدد صحيح موجب.
* 0 — الحد الأقصى للمهلة الزمنية غير مقيّد
