Azure செயல்பாடு நிகழ்வு செயலாக்கத்தில் நெறிப்படுத்துதல் பிழை கையாளுதல்
அளவிடக்கூடிய அமைப்புகளை உருவாக்கும்போது, விதிவிலக்குகளை அழகாகக் கையாள்வது முக்கியமானது, குறிப்பாக அஸூர் செயல்பாடுகள் போன்ற சேவைகளில். இந்தச் செயல்பாடுகள் பெரும்பாலும் உள்வரும் நிகழ்வுகளைக் கையாளுகின்றன, அங்கு பிழைகள் நிலையற்ற சிக்கல்கள் அல்லது தவறான பேலோடுகளால் எழலாம். 🛠️
ஒரு சமீபத்திய திட்டத்தில், பல JSON நிகழ்வுகளைச் செயல்படுத்த எனது பைதான் அடிப்படையிலான அசூர் செயல்பாடு தேவைப்படும் ஒரு சூழ்நிலையை நான் சந்தித்தேன். ஒவ்வொரு நிகழ்வும் சரிபார்க்கப்பட்டு செயலாக்கப்பட வேண்டும், ஆனால் `JSONDecodeError` அல்லது `ValueError` போன்ற பிழைகள் ஏற்படலாம், இது முழு ஓட்டத்தையும் சீர்குலைக்கும். என் சவாலா? அசல் செய்தி மற்றும் சூழலைப் பாதுகாக்கும் போது அனைத்து விதிவிலக்குகளையும் மடிக்க ஒரு அலங்காரத்தை செயல்படுத்தவும்.
நூற்றுக்கணக்கான நிகழ்வு செய்திகளைப் பெறுவதை கற்பனை செய்து பாருங்கள், அங்கு ஒரு சிக்கல் பைப்லைனை நிறுத்துகிறது. பேலோடில் இல்லாத புலம் அல்லது வெளிப்புற API எதிர்பாராதவிதமாக தோல்வியடைவதால் இது நிகழலாம். இலக்கானது பிழையை பதிவு செய்வது மட்டுமல்ல, அசல் செய்தியையும் விதிவிலக்கையும் ஒரு நிலையான வடிவத்தில் இணைத்து, கண்டறியும் தன்மையை உறுதி செய்வதாகும்.
இதைத் தீர்க்க, நான் பைத்தானின் அலங்கரிப்பாளர்களைப் பயன்படுத்தி ஒரு தீர்வைக் கண்டுபிடித்தேன். இந்த அணுகுமுறை எழுப்பப்பட்ட விதிவிலக்குகளைப் படம்பிடிப்பது மட்டுமல்லாமல், மேலும் செயலாக்கத்திற்கான தொடர்புடைய தரவையும் அனுப்பியது. உங்கள் தரவின் ஒருமைப்பாட்டைப் பேணும்போது, இந்தத் தேவைகளைப் பூர்த்தி செய்யும் வலுவான பிழை-கையாளுதல் பொறிமுறையை எவ்வாறு செயல்படுத்துவது என்பதை உங்களுக்கு வழிகாட்டுகிறேன். 🚀
| கட்டளை | பயன்பாட்டின் உதாரணம் |
|---|---|
| functools.wraps | இது அதன் பெயர் மற்றும் டாக்ஸ்ட்ரிங் போன்ற அசல் செயல்பாட்டின் மெட்டாடேட்டாவைப் பாதுகாக்க அலங்கரிப்பாளர்களில் பயன்படுத்தப்படுகிறது. ரேப்பர் செயல்பாடு அசல் பண்புகளை மீறாமல் இருப்பதை இது உறுதி செய்கிறது. |
| json.loads | ஒரு JSON சரத்தை பைதான் அகராதியாக மாற்றுகிறது, இது Azure செயல்பாட்டில் உள்வரும் நிகழ்வு செய்திகளை நீக்குவதற்கு அவசியமாகும். |
| logging.error | விதிவிலக்கு கையாளுதலின் போது பிழை செய்திகளைப் பதிவு செய்யப் பயன்படுகிறது, இது உற்பத்தி முறைமைகளில் பிழைத்திருத்தம் மற்றும் கண்காணிப்பு சிக்கல்களுக்கு முக்கியமானது. |
| raise Exception | அசல் விதிவிலக்கு செய்தியை, அசல் செய்தி செயலாக்கப்படுவது போன்ற கூடுதல் சூழலுடன் இணைத்து, விதிவிலக்கை வெளிப்படையாக எழுப்புகிறது. |
| async def | பைத்தானில் ஒரே நேரத்தில் பல கோரிக்கைகளை கையாளுதல் போன்ற தடையற்ற செயல்பாடுகளை செயல்படுத்தும், ஒத்திசைவற்ற செயல்பாட்டை வரையறுக்கிறது. |
| httpx.AsyncClient | ஒத்திசைவற்ற HTTP கோரிக்கைகளை உருவாக்குவதற்கான ஒரு குறிப்பிட்ட HTTP கிளையன்ட், குறிப்பாக Azure செயல்பாட்டில் வெளிப்புற APIகளுடன் தொடர்பு கொள்ளும்போது உதவியாக இருக்கும். |
| @ErrorHandler | பிழை கையாளுதல் மற்றும் சூழல் தக்கவைப்புக்கான செயல்பாடுகளை மடிக்க வர்க்க அடிப்படையிலான தீர்வு ஒரு அலங்காரம். |
| middleware | தனிப்பயன் மிடில்வேர் செயல்பாடு விதிவிலக்குகளைக் கையாள ஒரு அடுக்காகச் செயல்படுகிறது மற்றும் பல செயல்பாடு அழைப்புகளுக்கான செய்திகளை மையப்படுத்தப்பட்ட முறையில் பதிவு செய்கிறது. |
| asyncio.run | ஒத்திசைவற்ற சூழலில் ஒத்திசைவற்ற செயல்பாடுகளை இயக்கப் பயன்படுகிறது, இது ஸ்கிரிப்ட்களில் ஒத்திசைவு முறைகளை எளிதாகச் சோதிக்க அனுமதிக்கிறது. |
| KeyError | JSON பேலோடில் உள்ள விடுபட்ட புலம் போன்ற அகராதியில் தேவைப்படும் விசை இல்லாதபோது வெளிப்படையாக எழுப்பப்பட்டது. |
பைத்தானில் ஒரு வலுவான விதிவிலக்கு கையாளுதல் பொறிமுறையை உருவாக்குதல்
பைத்தானில், அலங்கரிப்பாளர்கள் செயல்பாடுகளின் நடத்தையை மேம்படுத்த அல்லது மாற்றியமைக்க ஒரு சக்திவாய்ந்த வழியை வழங்குகிறார்கள். மேலே உள்ள எடுத்துக்காட்டுகளில், விதிவிலக்குகளை இடைமறிக்க, டெக்கரேட்டர் இலக்கு செயல்பாட்டை மூடுகிறது. விதிவிலக்கு எழுப்பப்பட்டால், அலங்கரிப்பவர் பிழையைப் பதிவுசெய்து, உள்வரும் நிகழ்வு செய்தி போன்ற அசல் சூழலைப் பாதுகாக்கிறார். செயல்பாட்டின் போது பிழைத் தகவல் இழக்கப்படாமல் இருப்பதை இது உறுதி செய்கிறது. அஸூர் செயல்பாடுகள் போன்ற சேவைகளில் இது மிகவும் பயனுள்ளதாக இருக்கும், தற்காலிகப் பிழைகள் மற்றும் தவறான பேலோடுகளைப் பிழைத்திருத்துவதற்கு சூழலைப் பராமரிப்பது முக்கியமானது. 🛠️
பயன்பாடு தீர்வின் மற்றொரு முக்கியமான அம்சமாகும். `async def` உடன் செயல்பாடுகளை வரையறுத்து, `asyncio` நூலகத்தைப் பயன்படுத்துவதன் மூலம், ஸ்கிரிப்ட்கள் பிரதான தொடரிழையைத் தடுக்காமல் ஒரே நேரத்தில் பல செயல்பாடுகளைக் கையாளுகின்றன. எடுத்துக்காட்டாக, Event Hub இலிருந்து செய்திகளைச் செயலாக்கும்போது, ஸ்கிரிப்ட் பேலோடைச் சரிபார்க்கலாம், API அழைப்புகளைச் செய்யலாம் மற்றும் ஒரே நேரத்தில் பிழைகளைப் பதிவு செய்யலாம். இந்த தடையற்ற நடத்தை செயல்திறன் மற்றும் அளவிடுதல் ஆகியவற்றை மேம்படுத்துகிறது, குறிப்பாக தாமதங்கள் விலை உயர்ந்ததாக இருக்கும் உயர்-செயல்திறன் சூழல்களில்.
மிடில்வேர் மற்றும் கிளாஸ்-அடிப்படையிலான டெக்கரேட்டர் தீர்வுகள் நெகிழ்வுத்தன்மையின் கூடுதல் அடுக்கைக் கொண்டு வருகின்றன. மிடில்வேர் பல செயல்பாட்டு அழைப்புகளுக்கான மையப்படுத்தப்பட்ட பிழை-கையாளுதல் அடுக்காக செயல்படுகிறது, இது நிலையான பதிவு மற்றும் விதிவிலக்கு நிர்வாகத்தை உறுதி செய்கிறது. இதற்கிடையில், கிளாஸ்-அடிப்படையிலான அலங்கரிப்பாளர் எந்தவொரு செயல்பாட்டையும் மடக்குவதற்கு மீண்டும் பயன்படுத்தக்கூடிய கட்டமைப்பை வழங்குகிறது, இது பயன்பாட்டின் வெவ்வேறு பகுதிகளில் தனிப்பயன் பிழை கையாளும் தர்க்கத்தைப் பயன்படுத்துவதை எளிதாக்குகிறது. எடுத்துக்காட்டாக, JSON செய்திகளின் தொகுப்பைச் செயலாக்கும் போது, மிடில்வேர் ஒவ்வொரு செய்திக்கும் தனித்தனியாக சிக்கல்களைப் பதிவு செய்யலாம், அதே நேரத்தில் முழு செயல்முறையும் ஒரு பிழையால் நிறுத்தப்படாமல் இருப்பதை உறுதிசெய்கிறது. 🚀
இறுதியாக, தீர்வுகள் பைத்தானின் மேம்பட்ட நூலகங்களைப் பயன்படுத்துகின்றன ஒத்திசைவற்ற HTTP கோரிக்கைகளுக்கு. இந்த நூலகம், அணுகல் மேலாளர்கள் போன்ற வெளிப்புற APIகளுடன் ஸ்கிரிப்டை திறம்பட தொடர்பு கொள்ள உதவுகிறது. இந்த API அழைப்புகளை டெக்கரேட்டரில் மூடுவதன் மூலம், HTTP தொடர்பான ஏதேனும் பிழைகள் கைப்பற்றப்பட்டு, பதிவுசெய்யப்பட்டு, அசல் செய்தியுடன் மீண்டும் எழுப்பப்படும். வெளிப்புறச் சேவை தோல்வியடைந்தாலும், என்ன தவறு நடந்தது, ஏன் என்பது குறித்து கணினி வெளிப்படைத்தன்மையைப் பேணுவதை இது உறுதி செய்கிறது. இந்த நுட்பங்கள், ஒருங்கிணைந்து, பைத்தானில் வலுவான விதிவிலக்கு கையாளுதலுக்கான ஒரு விரிவான கட்டமைப்பை உருவாக்குகின்றன.
சூழலுடன் விதிவிலக்குகளைப் படம்பிடிக்கவும் பதிவு செய்யவும் ஒரு பைதான் டெக்கரேட்டரை வடிவமைத்தல்
இந்த தீர்வு பின்தளத்தில் ஸ்கிரிப்டிங்கிற்கு பைத்தானைப் பயன்படுத்துகிறது, அசல் சூழலைத் தக்க வைத்துக் கொண்டு விதிவிலக்குகளைக் கையாள மட்டு மற்றும் மீண்டும் பயன்படுத்தக்கூடிய வடிவமைப்புக் கொள்கைகளில் கவனம் செலுத்துகிறது.
import functoolsimport logging# Define a custom decorator for error handlingdef error_handler_decorator(func):@functools.wraps(func)async def wrapper(*args, kwargs):original_message = kwargs.get("eventHubMessage", "Unknown message")try:return await func(*args, kwargs)except Exception as e:logging.error(f"Error: {e}. Original message: {original_message}")# Re-raise with combined contextraise Exception(f"{e} | Original message: {original_message}")return wrapper# Example usage@error_handler_decoratorasync def main(eventHubMessage):data = json.loads(eventHubMessage)logging.info(f"Processing data: {data}")# Simulate potential errorif not data.get("RequestID"):raise ValueError("Missing RequestID")# Simulate successful processingreturn "Processed successfully"# Testtry:import asyncioasyncio.run(main(eventHubMessage='{"ProductType": "Test"}'))except Exception as e:print(f"Caught exception: {e}")
வகுப்புகளைப் பயன்படுத்தி ஒரு கட்டமைக்கப்பட்ட பிழையைக் கையாளும் அணுகுமுறையை உருவாக்குதல்
இந்த தீர்வு, விதிவிலக்குகளை மிகவும் கட்டமைக்கப்பட்ட முறையில் நிர்வகிப்பதற்கான மட்டுப்படுத்தல் மற்றும் மறுபயன்பாடு ஆகியவற்றை மேம்படுத்த பைதான் கிளாஸ்-அடிப்படையிலான டெக்கரேட்டரைப் பயன்படுத்துகிறது.
import logging# Define a class-based decoratorclass ErrorHandler:def __init__(self, func):self.func = funcasync def __call__(self, *args, kwargs):original_message = kwargs.get("eventHubMessage", "Unknown message")try:return await self.func(*args, kwargs)except Exception as e:logging.error(f"Error: {e}. Original message: {original_message}")raise Exception(f"{e} | Original message: {original_message}")# Example usage@ErrorHandlerasync def process_event(eventHubMessage):data = json.loads(eventHubMessage)logging.info(f"Data: {data}")if "RequestType" not in data:raise KeyError("Missing RequestType")return "Event processed!"# Testtry:import asyncioasyncio.run(process_event(eventHubMessage='{"RequestID": "123"}'))except Exception as e:print(f"Caught exception: {e}")
உலகளாவிய விதிவிலக்கு கையாளுதலுக்கான மிடில்வேரை மேம்படுத்துதல்
இந்த தீர்வு பைத்தானில் மிடில்வேர் போன்ற கட்டமைப்பை செயல்படுத்துகிறது, இது பல செயல்பாட்டு அழைப்புகளில் விதிவிலக்குகளை மையப்படுத்திய கையாளுதலை அனுமதிக்கிறது.
import loggingasync def middleware(handler, message):try:return await handler(message)except Exception as e:logging.error(f"Middleware caught error: {e} | Message: {message}")raise# Handlersasync def handler_one(message):if not message.get("ProductType"):raise ValueError("Missing ProductType")return "Handler one processed."# Test middlewaremessage = {"RequestID": "123"}try:import asyncioasyncio.run(middleware(handler_one, message))except Exception as e:print(f"Middleware exception: {e}")
விநியோகிக்கப்பட்ட அமைப்புகளில் விதிவிலக்கு கையாளுதலை மேம்படுத்துதல்
Azure செயல்பாடுகள் நிகழ்வு மைய தலைப்புகளைக் கேட்பது போன்ற விநியோகிக்கப்பட்ட அமைப்புகளைக் கையாளும் போது, வலுவான விதிவிலக்குக் கையாளுதல் கணினி நம்பகத்தன்மையின் ஒரு மூலக்கல்லாகும். ஒரு முக்கியமான அம்சம் பெரும்பாலும் கவனிக்கப்படாதது, விதிவிலக்குகளை அவை நிகழ்ந்த அசல் சூழலுடன் கண்காணிக்கும் மற்றும் தொடர்புபடுத்தும் திறன் ஆகும். இந்த சூழலில் பேலோட் செயலாக்கப்படும் மற்றும் நேரமுத்திரைகள் அல்லது அடையாளங்காட்டிகள் போன்ற மெட்டாடேட்டா ஆகியவை அடங்கும். உதாரணமாக, தவறான JSON பேலோட் மூலம் நிகழ்வை செயலாக்குவதை கற்பனை செய்து பாருங்கள். முறையான விதிவிலக்கு கையாளுதல் இல்லாமல், இதுபோன்ற காட்சிகளை பிழைத்திருத்தம் செய்வது ஒரு கனவாக மாறும். அசல் செய்தியைத் தக்கவைத்து, பிழைப் பதிவோடு இணைப்பதன் மூலம், வெளிப்படையான மற்றும் திறமையான பிழைத்திருத்தப் பணிப்பாய்வுகளை உருவாக்குகிறோம். 🛠️
நிலையற்ற பிழைகள் இருந்தபோதிலும் கணினி மீள்தன்மையுடன் இருப்பதை உறுதிசெய்வது மற்றொரு முக்கிய கருத்தாகும். நெட்வொர்க் காலாவதி அல்லது சேவை கிடைக்காத நிலை போன்ற தற்காலிக பிழைகள் கிளவுட் சூழல்களில் பொதுவானவை. மையப்படுத்தப்பட்ட பிழை பதிவுக்கான அலங்கரிப்பாளர்களுடன் இணைந்து அதிவேக பேக்ஆஃப் மூலம் மறுமுயற்சிகளை செயல்படுத்துவது, தவறு சகிப்புத்தன்மையை பெரிதும் மேம்படுத்தும். கூடுதலாக, நூலகங்கள் போன்றவை ஒத்திசைவற்ற செயல்பாடுகளை ஆதரிக்கவும், வெளிப்புற ஏபிஐ அழைப்புகளுக்கான தடையற்ற மறு முயற்சிகளை செயல்படுத்துகிறது. தற்காலிக இடையூறுகள் நிகழ்வு செயலாக்க குழாய்களில் மொத்த தோல்விகளுக்கு வழிவகுக்காது என்பதை இது உறுதி செய்கிறது.
இறுதியாக, JSON பதிவுகள் போன்ற கட்டமைக்கப்பட்ட பதிவு வடிவங்களை இணைப்பது, பிழைகளின் தெரிவுநிலை மற்றும் கண்டறியும் தன்மையை கணிசமாக மேம்படுத்தும். விதிவிலக்கு வகை, அசல் செய்தி மற்றும் நேர முத்திரை போன்ற புலங்களை பதிவுகளில் சேர்க்கலாம். இந்த கட்டமைக்கப்பட்ட பதிவுகள் நிகழ்நேர கண்காணிப்பு மற்றும் பகுப்பாய்வுக்காக, Azure Monitor அல்லது Elasticsearch போன்ற மையப்படுத்தப்பட்ட பதிவு அமைப்புகளுக்கு அனுப்பப்படலாம். இந்த வழியில், குறிப்பிட்ட பேலோடுகளுடன் தொடர்ச்சியான பிழைகள் போன்ற வடிவங்களை மேம்பாட்டுக் குழுக்கள் விரைவாகக் கண்டறிந்து அவற்றை முன்கூட்டியே தீர்க்க முடியும். 🚀
- விதிவிலக்கு கையாளுதலுக்கு அலங்கரிப்பாளரைப் பயன்படுத்துவதன் நோக்கம் என்ன?
- ஒரு அலங்கரிப்பாளர், போன்ற , பல செயல்பாடுகளில் பிழை பதிவு மற்றும் கையாளுதலை மையப்படுத்துகிறது. இது விதிவிலக்குகளின் நிலையான செயலாக்கத்தை உறுதிசெய்கிறது மற்றும் அசல் செய்தியைப் போன்ற முக்கியமான சூழலைத் தக்கவைக்கிறது.
- எப்படி செய்கிறது API தொடர்புகளை மேம்படுத்தவா?
- இது ஒத்திசைவற்ற HTTP கோரிக்கைகளை செயல்படுத்துகிறது, நிரல் பல API அழைப்புகளை ஒரே நேரத்தில் கையாள அனுமதிக்கிறது, இது Azure செயல்பாடுகள் போன்ற உயர்-செயல்திறன் அமைப்புகளுக்கு முக்கியமானது.
- கட்டமைக்கப்பட்ட லாக்கிங்கின் நன்மை என்ன?
- JSON பதிவுகள் போன்ற கட்டமைக்கப்பட்ட பதிவு வடிவங்கள், Azure Monitor அல்லது Splunk போன்ற கருவிகளைப் பயன்படுத்தி நிகழ்நேரத்தில் பிழைகளை பகுப்பாய்வு செய்வதையும் கண்காணிப்பதையும் எளிதாக்குகின்றன.
- நிலையற்ற பிழைகளை எவ்வாறு திறம்பட நிர்வகிக்க முடியும்?
- மறுமுயற்சி தர்க்கத்தை அதிவேக பேக்ஆஃப் மூலம் செயல்படுத்துவது, தோல்விகளைப் படம்பிடிக்க ஒரு அலங்கரிப்பாளருடன் சேர்ந்து, தற்காலிகச் சிக்கல்கள் நிரந்தரப் பிழைகளுக்கு வழிவகுக்காமல் இருப்பதை உறுதி செய்கிறது.
- விதிவிலக்கு கையாளுதலில் அசல் சூழலை பராமரிப்பது ஏன் முக்கியம்?
- அசல் செய்தியைப் பாதுகாப்பது, பேலோட் செயலாக்கப்படுவது போன்றது, பிழைத்திருத்தம் மற்றும் டிரேசிங் சிக்கல்களுக்கு, குறிப்பாக விநியோகிக்கப்பட்ட அமைப்புகளில் விலைமதிப்பற்ற தகவலை வழங்குகிறது.
Azure செயல்பாடுகள் போன்ற விநியோகிக்கப்பட்ட அமைப்புகளில் விதிவிலக்கு கையாளுதல், தடையற்ற செயல்பாடுகளை உறுதி செய்வதற்கு முக்கியமானது. டெவலப்பர்கள் ஒரு அலங்கரிப்பாளரில் பிழைகளை மடக்கி, அசல் சூழலைத் தக்கவைத்துக்கொள்வதன் மூலம், டெவலப்பர்கள் பிழைத்திருத்தத்தை எளிதாக்குகிறார்கள் மற்றும் கணினி வெளிப்படைத்தன்மையை நெறிப்படுத்துகிறார்கள். சிக்கல்கள் தவிர்க்க முடியாத, மாறும், நிஜ உலக சூழல்களில் இந்த அணுகுமுறை குறிப்பாக உதவியாக இருக்கும்.
ஒத்திசைவற்ற நிரலாக்கம் மற்றும் கட்டமைக்கப்பட்ட பதிவு போன்ற மேம்பட்ட நுட்பங்களை இணைத்து, பைதான் மீள்திறன் அமைப்புகளை உருவாக்குவதற்கான சக்திவாய்ந்த கருவியாக மாறுகிறது. இந்த தீர்வுகள் பிழைகாணலின் போது நேரத்தை மிச்சப்படுத்துகின்றன மற்றும் நிலையற்ற பிழைகளை திறம்பட நிவர்த்தி செய்வதன் மூலம் செயல்திறனை மேம்படுத்துகின்றன. இந்த நடைமுறைகளை ஏற்றுக்கொள்வது டெவலப்பர்களுக்கு வலுவான மற்றும் அளவிடக்கூடிய பயன்பாடுகளை உருவாக்க உதவுகிறது, அன்றாட சவால்களை சமாளிக்கிறது. 🛠️
- பைத்தானில் விதிவிலக்குகளைக் கையாள்வதற்கான உள்ளடக்கம் அதிகாரப்பூர்வ பைதான் ஆவணத்தால் ஈர்க்கப்பட்டது. மேலும் தகவலுக்கு, பார்வையிடவும் பைதான் விதிவிலக்குகள் ஆவணம் .
- ஒத்திசைவற்ற HTTP கிளையண்ட் பற்றிய விவரங்கள் அடிப்படையாக கொண்டவை httpx நூலகத்தின் அதிகாரப்பூர்வ ஆவணங்கள் , தடுக்காத HTTP கோரிக்கைகளுக்கான அதன் திறன்களை இது விளக்குகிறது.
- கட்டமைக்கப்பட்ட பதிவுகளின் கொள்கைகள் நுண்ணறிவு மூலம் வழிநடத்தப்பட்டன அசூர் மானிட்டர் , விநியோகிக்கப்பட்ட அமைப்புகளில் மையப்படுத்தப்பட்ட உள்நுழைவுக்கான ஒரு கருவி.
- பைதான் செயல்பாடுகளை அலங்கரிப்பவர்கள் பற்றிய வழிகாட்டுதல் ஒரு பயிற்சி மூலம் தெரிவிக்கப்பட்டது உண்மையான மலைப்பாம்பு .
- நிலையற்ற பிழைகள் மற்றும் மறுமுயற்சி வழிமுறைகளைப் புரிந்துகொள்வது கட்டுரைகளின் அடிப்படையில் அமைந்தது AWS கட்டிடக்கலை வலைப்பதிவுகள் , இது விநியோகிக்கப்பட்ட சூழல்களில் பிழை பின்னடைவை விவாதிக்கிறது.