𝗥𝗲𝗰𝗼𝘃𝗲𝗿𝗶𝗻𝗴 𝗦𝘁𝗮𝗹𝗲 𝗕𝗿𝗼𝘄𝘀𝗲𝗿 𝗣𝗿𝗼𝗳𝗶𝗹𝗲 𝗟𝗼𝗰𝗸𝘀
ಬ್ರೌಸರ್ ಪ್ರೊಫೈಲ್ ಲಾಕ್ ಎಂಬುದು ಇಬ್ಬರು ಕೆಲಸಗಾರರು (workers) ಒಂದೇ ಸಮಯದಲ್ಲಿ ಒಂದೇ ಖಾತೆಯನ್ನು ತೆರೆಯದಂತೆ ತಡೆಯುತ್ತದೆ.
ಕೆಲಸಗಾರನ ಪ್ರಕ್ರಿಯೆಯು (worker process) ಕುಸಿದಾಗ ಅಥವಾ ನೆಟ್ವರ್ಕ್ ಕಡಿತಗೊಂಡಾಗ ಹೆಚ್ಚಿನ ವ್ಯವಸ್ಥೆಗಳು ವಿಫಲವಾಗುತ್ತವೆ. ಅವು ಹಳೆಯ ಲಾಕ್ ಅನ್ನು ಕಂಡು, ಅದನ್ನು ಅಳಿಸಿవేಸಿ, ಹೊಸ ಕೆಲಸಗಾರನಿಗೆ ಜವಾಬ್ದಾರಿ ನೀಡುತ್ತವೆ. ಇದು ಕ್ಯೂ (queue) ಚಲಿಸಲು ಸಹಾಯ ಮಾಡಬಹುದು, ಆದರೆ ಇದು ನಿಮ್ಮ ಖಾತೆಯ ಸ್ಥಿತಿಯನ್ನು (account state) ಹಾಳುಮಾಡುತ್ತದೆ.
ಹಳೆಯದಾದ ಲಾಕ್ (stale lock) ಎನ್ನುವುದು ಕೇವಲ ಅಳಿಸಬೇಕಾದ ಫೈಲ್ ಅಲ್ಲ. ಅದು ನಿಯಂತ್ರಿತ ಮರುಪಡೆಯುವಿಕೆಯ ಮಾರ್ಗ (controlled recovery path) ಬೇಕಾದ ಒಂದು ಅಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ.
ಲಾಕ್ ಅನ್ನು ಕೇವಲ ಒಂದು ಫ್ಲಾಗ್ (flag) ಎಂದು ಪರಿಗಣಿಸಬೇಡಿ. ಅದರ ನಿಜವಾದ ಮೌಲ್ಯವು ಬ್ರೌಸರ್ ಪ್ರೊಫೈಲ್ನಲ್ಲಿದೆ: ಕುಕೀಗಳು (cookies), ಲೋಕಲ್ ಸ್ಟೋರೇಜ್ (local storage) ಮತ್ತು ಸೆಷನ್ ಇತಿಹಾಸ (session history).
ಮರುಪಡೆಯುವಿಕೆಗಾಗಿ ಸ್ಟೇಟ್ ಮೆಷಿನ್ (state machine) ಬಳಸಿ:
• Held (ಹಿಡಿದಿಡಲಾಗಿದೆ) • Suspected stale (ಹಳೆಯದಾದದ್ದು ಎಂದು ಶಂಕಿಸಲಾಗಿದೆ) • Quarantined (ಕ್ವಾರಂಟೈನ್ ಮಾಡಲಾಗಿದೆ) • Inspected (ಪರಿಶೀಲಿಸಲಾಗಿದೆ) • Available | Resume pending | Manual review (ಲಭ್ಯವಿದೆ | ಮರುಪ್ರಾರಂಭಿಸುವುದು ಬಾಕಿ ಇದೆ | ಮ್ಯಾನುಯಲ್ ರಿವ್ಯೂ)
ಕ್ವಾರಂಟೈನ್ (Quarantine) ಸ್ಥಿತಿಯು ಬಹಳ ಮುಖ್ಯವಾದುದು. ನೀವು ತನಿಖೆ ನಡೆಸುತ್ತಿರುವಾಗ ಎರಡನೇ ಕೆಲಸಗಾರನು ಮಧ್ಯಪ್ರವೇಶಿಸದಂತೆ ಇದು ತಡೆಯುತ್ತದೆ.
ನೀವು ಫೆನ್ಸಿಂಗ್ ಟೋಕನ್ (fencing token) ಹೊಂದಿರುವ ಲೀಸ್ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸಲೇಬೇಕು. ಪ್ರತಿಯೊಂದು ಬರೆಯುವ ಪ್ರಕ್ರಿಯೆಯೂ (write) ಒಂದು ವರ್ಷದ ಸಂಖ್ಯೆಯನ್ನು (version number) ಹೊಂದಿರಬೇಕು. ಹೊಸ ಕೆಲಸಗಾರನು ಜವಾಬ್ದಾರಿ ವಹಿಸಿಕೊಂಡ ನಂತರ ಹಳೆಯ ಕೆಲಸಗಾರನು ಮತ್ತೆ ಕಾರ್ಯಪ್ರವೃತ್ತನಾದರೆ, ವ್ಯವಸ್ಥೆಯು ಅದರ ಹಳೆಯ ಟೋಕನ್ ಅನ್ನು ತಿರಸ್ಕರಿಸಬೇಕು. ಇದು ಮೌನವಾಗಿ ಡೇಟಾ ಹಾಳಾಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಹಳೆಯದಾದ ಲಾಕ್ಗಳಿಗೆ ಸಾಮಾನ್ಯ ಕಾರಣಗಳು:
- ಕೆಲಸಗಾರನ ಪ್ರಕ್ರಿಯೆ ಕುಸಿದಿದೆ (Worker process crashed)
- ಹೋಸ್ಟ್ ಮರುಪ್ರಾರಂಭಗೊಂಡಿದೆ (Host restarted)
- ಕೆಲಸವು ನಿಗದಿತ ಸಮಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಂಡಿದೆ (Job exceeded runtime)
- ಹಾರ್ಟ್ಬೀಟ್ ನಿಂತಿದೆ (Heartbeat stopped)
- ನೆಟ್ವರ್ಕ್ ವಿಭಜನೆ (Network partition)
ಹಳೆಯದಾದ ಲಾಕ್ ಎಂದರೆ ಪ್ರೊಫೈಲ್ ಸುರಕ್ಷಿತವಾಗಿದೆ ಎಂದರ್ಥವಲ್ಲ. ಕೆಲಸಗಾರನು ನಿಂತಿದಂತೆ ಕಾಣಬಹುದು, ಆದರೆ ನೆಟ್ವರ್ಕ್ ವಿಳಂಬದ ಕಾರಣದಿಂದಾಗಿ ಅವನು ಇನ್ನೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಬಹುದು.
ನೀವು ಪ್ರೊಫೈಲ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ ಮೊದಲು, ಸಾಕ್ಷ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಬೇಕು:
- ಕೊನೆಯದಾಗಿ ತಿಳಿದಿರುವ URL
- ಕೊನೆಯದಾಗಿ ತಿಳಿದಿರುವ ಹಂತ
- ಕೊನೆಯ ಸ್ಕ್ರೀನ್ಶಾಟ್
- ಪ್ರೊಕ್ಸಿ ID
- ಪ್ರೊಫೈಲ್ ಡೈರೆಕ್ಟರಿ ಸ್ಥಿತಿ
ಚೆಕ್ಔಟ್ ಅಥವಾ ಪಾಸ್ವರ್ಡ್ ಬದಲಾವಣೆಯಂತಹ ಸೂಕ್ಷ್ಮ ಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಕೆಲಸವು ನಿಂತರೆ, ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಪ್ರಾರಂಭಿಸಬೇಡಿ (auto-resume). ಅದನ್ನು ಮ್ಯಾನುಯಲ್ ರಿವ್ಯೂಗೆ (manual review) ಕಳುಹಿಸಿ.
ಮರುಪಡೆಯುವಿಕೆಗಾಗಿ ನಾಲ್ಕು ಸುರಕ್ಷಿತ ಫಲಿತಾಂಶಗಳು:
- Available: ಕೆಲಸವು ಎಂದಿಗೂ ಪ್ರಾರಂಭವಾಗದಿದ್ದರೆ ಅಥವಾ ಖಾತೆಯ ಡೇಟಾವನ್ನು ಮುಟ್ಟುವ ಮೊದಲೇ ವಿಫಲಗೊಂಡಿದ್ದರೆ ಇದನ್ನು ಬಳಸಿ.
- Resume pending: ನಿಮ್ಮ ಕೆಲಸಗಳು ಸ್ಪಷ್ಟವಾದ ಮತ್ತು ಸುರಕ್ಷಿತವಾದ ಚೆಕ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಇದನ್ನು ಬಳಸಿ.
- Retry: ಪ್ರೊಫೈಲ್ ಸುರಕ್ಷಿತವಾಗಿದ್ದರೆ ಆದರೆ ಕೆಲಸವನ್ನು ಮೊದಲಿನಿಂದಲೇ ಪ್ರಾರಂಭಿಸಬೇಕಿದ್ದರೆ ಇದನ್ನು ಬಳಸಿ.
- Manual review: ಸ್ಥಿತಿಯು ಅಸ್ಪಷ್ಟವಾಗಿದ್ದರೆ ಅಥವಾ ಸೂಕ್ಷ್ಮವಾಗಿದ್ದರೆ ಇದನ್ನು ಬಳಸಿ.
ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಸೆಷನ್ ಅನ್ನು ಸರಿಪಡಿಸಲು ಪ್ರೊಫೈಲ್ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಅಳಿಸಬೇಡಿ ಅಥವಾ ಕುಕೀಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಬೇಡಿ. ಈ ಕ್ರಮಗಳು ಖಾತೆಯ ಸಂದರ್ಭವನ್ನು (account context) ಹಾನಿಗೊಳಿಸುತ್ತವೆ.
ಒಂದು ಸುರಕ್ಷಿತ ವ್ಯವಸ್ಥೆಯು ಈ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ:
- ಒಂದು ಪ್ರೊಫೈಲ್
- ಒಬ್ಬನೇ ಮಾಲೀಕನ ಲೀಸ್ (One owner lease)
- ಒಂದು ಸಕ್ರಿಯ ಕೆಲಸ (One active task)
- ಒಂದು ಸಾಕ್ಷ್ಯದ ಹಾದಿ (One evidence trail)
- ಒಂದು ಮರುಪಡೆಯುವಿಕೆಯ ನಿರ್ಧಾರ (One recovery decision)
ಲಾಕ್ ಎಂಬುದು ಕೇವಲ ಒಂದು ಲಕ್ಷಣವಷ್ಟೇ. ಅದರ ಹಿಂದಿರುವ ಖಾತೆಯ ಪರಿಸರವನ್ನು ರಕ್ಷಿಸುವುದು ನಿಮ್ಮ ಕೆಲಸ.