
рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рдХрд╡рд░реЗрдЬ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ, рдорд╣рд╛рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдореБрдЦреНрдп рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рд╕рднреНрдп рдкрд░реАрдХреНрд╖рдг рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдлрд▓рддрд╛ рдХрд╛рд░рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдЧрд╛ред рдЖрдЗрдП рдЗрд╕ рддрдереНрдп рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдореМрдЬреВрдж рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрджрддрд░ рдирд╣реАрдВ рд╣реИрдВред рдЖрдЬ рдХрд╛ рдлреЛрдХрд╕: рдЕрдкрд╛рдЪреЗ рд╣реИрдбреЙрдкред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд┐рдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╢рд╛рдпрдж
рдЕрдкрд╛рдЪреЗ рд╣рдбреЙрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, Hadoop рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рдЧ рдбреЗрдЯрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Hadoop рдореЗрдВ рдЪрд╛рд░ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:
- Hadoop рдЖрдо
- MapReduce
- Hadoop рд╡рд┐рддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо
- рдпрд╛рд░реНрди
рд╡реИрд╕реЗ рднреА, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВред
рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдорд╛рд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
- рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
- рдЧреНрд░реЗрдбреЗрд▓ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбрд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
- рд╕реАрдзреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ред
Hadoop рдорд╛рд╡реЗрди рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЪреЗрдХ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдмрд╛рдзрд╛ рдирд╣реАрдВ рдереАред
рдЬрдм рдореИрдВрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдФрд░ pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ (рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдереЗ рдЬреЛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдереЗ), рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рд╣реБрдЖ!
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдЪреБрдиреАрдВ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдереАрдВред рдЖрдо рддреМрд░ рдкрд░, рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛, рддреЛ рдореИрдВ 'рдкрд░реАрдХреНрд╖рдг' рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред "рдЙрди рдкрд░ рдирдЬрд╝рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдбрд╛рд▓рддреЗ?" - рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрдЧ рдХреЗ рдкреНрд░рддрд┐рдХреВрд▓ рдкрд░рд┐рдгрд╛рдо рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЧрд▓рдд рдпрд╛ рдЖрдВрд╢рд┐рдХ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд┐рд╢реНрдорд╛рд╢ рддрдХ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд╡реЗ рдХреЗрд╡рд▓ рдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВ, рдХрд┐ рд╡реЗ рд╣рдореЗрд╢рд╛ рд╣рд░реЗ рд╣реИрдВ)ред
рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдкреЗрдЪреАрджрд╛ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрди рд╕рдореВрд╣реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛: рдЙрддреНрдкрд╛рджрди, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЪрд╛рд░ рдореБрдЦреНрдп рд╣рдбреЛрдк рдореЙрдбреНрдпреВрд▓ред рдФрд░ рдЕрдм рдореБрдЭреЗ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдиреА рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред
рдЙрддреНрдкрд╛рджрди рдХреЛрдб
Hadoop рдЖрдо
V6033 рд╕рдорд╛рди рдХреБрдВрдЬреА 'KDC_BIND_ADDRESS' рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рд╣реА рдЬреЛрдбрд╝рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред MiniKdc.java (163), MiniKdc.java (162)
public class MiniKdc { .... private static final Set<String> PROPERTIES = new HashSet<String>(); .... static { PROPERTIES.add(ORG_NAME); PROPERTIES.add(ORG_DOMAIN); PROPERTIES.add(KDC_BIND_ADDRESS); PROPERTIES.add(KDC_BIND_ADDRESS);
рд╣рд╢рд╕реЗрдЯ рдореЗрдВ рджреЛ рдмрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдореВрд▓реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рджреЛрд╖ рд╣реИред рджреВрд╕рд░реЗ рдЬреЛрдбрд╝ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рджреЛрд╣рд░рд╛рд╡ рд╕рд┐рд░реНрдл рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рддреНрд░рд╛рд╕рджреА рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдПрдХ рдФрд░ рдореВрд▓реНрдп рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
MapReduce
V6072 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'рд▓реЛрдХрд▓рдлреЗрдпрд░' рдХреЗ рдмрдЬрд╛рдп 'рд▓реЛрдХрд▓рдлрд╛рдЗрд▓реНрд╕' рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред LocalDistributedCacheManager.java (183), LocalDistributedCacheManager.java (178), LocalDistributedCacheManager.java (176), LocalDistributedCacheManager.java (181)
public synchronized void setup(JobConf conf, JobID jobId) throws IOException { ....
V6072 рдирд┐рджрд╛рди рдХрднреА-рдХрднреА рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдФрд░ рдПрдХ-рджреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рдЪрд░ "рдЕрдВрдбрд░рдЪреИрдЧ" рднреА рдЫреЛрдбрд╝ рджрд┐рдП рдЧрдП рд╣реИрдВред
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХ рдореЗрдВ
localArchives рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╕рдорд╛рди рдЯреБрдХрдбрд╝реЗ рдореЗрдВ -
рд▓реЛрдХрд▓рдлрд╛рдЗрд▓реНрд╕ ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдВрд╣рд┐рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдкрд░рд┐рд╢реНрд░рдо рдХреЗ рд╕рд╛рде рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рддрдм рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗ, рдЬрд╣рд╛рдВ рд▓реЗрдЦрдХ
рд▓реЛрдХрд▓ рдЪрд░ рдХреЛ рдмрджрд▓рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред
рдпрд╣ рдЧрдлрд╝ рдирд┐рдореНрди рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ:
- рдорд╛рди рд▓реАрдЬрд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рдЖрдХреГрддрд┐рдпрд╛рдБ (рдЖрдХрд╛рд░ = 4) рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХреГрдд (рдЖрдХрд╛рд░ = 2) рд╣реИрдВ;
- рдПрд░реЗ рд▓реЛрдХрд▓рдлрд╛рдЗрд▓реНрд╕.рдЯреЛрдЕрд░рд╛рдЗрд░реЗ (рдирдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ [localArchives.size ()]) рдмрдирд╛рддреЗ рд╕рдордп , рдЕрдВрддрд┐рдо 2 рддрддреНрд╡ рд╢реВрдиреНрдп рд╣реЛрдВрдЧреЗ (["pathToFile1", "pathToFile2", null, null]);
- рдлрд┐рд░ org.apache.hadoop.util.StringUtils.arrayToString рд╣рдорд╛рд░реЗ рдПрд░реЗ рдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд┐рдо рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо "null" ("pathToFile1, pathToFile2, null, null" ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ;
- рдпрд╣ рд╕рдм рдЖрдЧреЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рднрдЧрд╡рд╛рди рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рддрд░рд╣ рдХреА рдЬрд╛рдБрдЪреЗрдВ =) рд╣реИрдВред
V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдмрдЪреНрдЪреЛрдВред рдЖрдХрд╛рд░ ()> 0' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реИред рдХрддрд╛рд░.рдЬрд╛рд╡рд╛ (347)
boolean isHierarchySameAs(Queue newState) { .... if (children == null || children.size() == 0) { .... } else if(children.size() > 0) { .... } .... }
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 0 рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЖрдЧреЗ рдХреЗ
рдмрдЪреНрдЪреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдЖрдХрд╛рд░
()> 0 рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрдЧрд╛ред
HDFS
V6001 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'this.bucketSize' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '%' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ред рд░реЛрд▓рд┐рдВрдЧ рд╡рд┐рдВрджреЛред рдЬрд╛рд╡рд╛ (79)
RollingWindow(int windowLenMs, int numBuckets) { buckets = new Bucket[numBuckets]; for (int i = 0; i < numBuckets; i++) { buckets[i] = new Bucket(); } this.windowLenMs = windowLenMs; this.bucketSize = windowLenMs / numBuckets; if (this.bucketSize % bucketSize != 0) {
рдпрд╣рд╛рдВ рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЪрд░ рд╕реНрд╡рдпрдВ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рдирддреАрдЬрддрди, рдмрд╣реБрд▓рддрд╛ рдХреА рдЬрд╛рдВрдЪ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓ рд╣реЛрдЧреА рдФрд░ рдЧрд▓рдд рдЗрдирдкреБрдЯ (
windowLenMs ,
numBuckets ) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдкрд╡рд╛рдж рдХрднреА рдирд╣реАрдВ рдлреЗрдВрдХрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╛рд░реНрди
V6067 рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗрд╕-рд╢рд╛рдЦрд╛рдПрдБ рдПрдХ рд╣реА рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЯрд╛рдЗрдорд▓рд╛рдЗрдирдЗрдВрдЯрд░рд┐рдЯреА рд╡реА 2 рдХрдиреЗрдХреНрдЯреЛрд░реНрдЯрд░.рдЬрд╛рд╡рд╛ (386), рдЯрд╛рдЗрдорд▓рд╛рдЗрдирдЗрдВрдЯреАрд╡реАрд╕реАрдСрдирдХреНрд╡рд░реНрдЯрд░.рдЬрд╡рд╛ (386)
public static ApplicationReport convertToApplicationReport(TimelineEntity entity) { .... if (metrics != null) { long vcoreSeconds = 0; long memorySeconds = 0; long preemptedVcoreSeconds = 0; long preemptedMemorySeconds = 0; for (TimelineMetric metric : metrics) { switch (metric.getId()) { case ApplicationMetricsConstants.APP_CPU_METRICS: vcoreSeconds = getAverageValue(metric.getValues().values()); break; case ApplicationMetricsConstants.APP_MEM_METRICS: memorySeconds = ....; break; case ApplicationMetricsConstants.APP_MEM_PREEMPT_METRICS: preemptedVcoreSeconds = ....;
рджреЛ
рдорд╛рдорд▓реЗ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗред рдпрд╣ рд╕рдм рдЬрдЧрд╣ рд╣реИ! рдкреНрд░рдЪрд▓рд┐рдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐
рд╕реНрд╡рд┐рдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдХрд╛рд░рдг рд╣реИред рд▓реЗрдХрд┐рди рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдмрд╛рд░-рдмрд╛рд░ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ, рд╡реИрд░рд┐рдПрдмрд▓
рдкреНрд░реАрдореЗрдкреНрдЯреЗрдб VcoreSeconds рдХреЗ рд╡реИрд▓реНрдпреВ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рднреА рдЪрд░ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖
рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ рдХрд┐ рдпрджрд┐
рдореЗрдЯреНрд░рд┐рдХ.рдЧреЗрдЯрдЖрдИрдбреАрдбреА () == APP_MEM_PREEMPT_METRICS рдХреЗ рд▓рд┐рдП рдорд╛рди
рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
MemorySeconds рд╡реИрд░рд┐рдПрдмрд▓,
preemptedVcoreSeconds рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, 'рд╕реНрд╡рд┐рдЪ' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд╛рдж,
preemptedMemorySeconds рд╣рдореЗрд╢рд╛ 0 рд░рд╣реЗрдЧрд╛, рдЬрдмрдХрд┐
preemptedVcoreSeconds рдХрд╛ рдорд╛рди рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
V6046 рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдкред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдЖрдЗрдЯрдо рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИрдВред рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛: 2. AbstractSchedulerPlanFollower.java (186)
@Override public synchronized void synchronizePlan(Plan plan, boolean shouldReplan) { .... try { setQueueEntitlement(planQueueName, ....); } catch (YarnException e) { LOG.warn("Exception while trying to size reservation for plan: {}", currResId, planQueueName, e); } .... }
рд▓реЙрдЧ рдХрд░рддреЗ рд╕рдордп
planQueueName рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╛ рддреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЛ рджреЛрд╖ рджреЗрддрд╛ рд╣реВрдВ, рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЦреБрдж рдХреЛ рдкреИрд░ рдореЗрдВ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред
рдЯреЗрд╕реНрдЯ рдХреЛрдб
Hadoop рдЖрдо
V6072 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'allSecretsB' рдХреЗ рдмрдЬрд╛рдп 'allSecretsB' рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред TestZKSignerSecretProvider.java (316), TestZKSignerSecretProvider.java (309), TestZKSignerSecretProvider.java (306), TestZKSignerSecretProvider.java (313)
public void testMultiple(int order) throws Exception { .... currentSecretA = secretProviderA.getCurrentSecret(); allSecretsA = secretProviderA.getAllSecrets(); Assert.assertArrayEquals(secretA2, currentSecretA); Assert.assertEquals(2, allSecretsA.length);
рдФрд░ рдлрд┐рд░ рд╕реЗ V6072ред рдЪрд░
allSecretsA рдФрд░
allSecretsB рдХреЛ рдмрд╛рд░реАрдХреА рд╕реЗ
рджреЗрдЦреЗрдВ ред
V6043 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрдЯрд░реЗрдЯрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдФрд░ рдЕрдВрддрд┐рдо рдореВрд▓реНрдп рд╕рдорд╛рди рд╣реИрдВред TestTFile.java (235)
private int readPrepWithUnknownLength(Scanner scanner, int start, int n) throws IOException { for (int i = start; i < start; i++) { String key = String.format(localFormatter, i); byte[] read = readKey(scanner); assertTrue("keys not equal", Arrays.equals(key.getBytes(), read)); try { read = readValue(scanner); assertTrue(false); } catch (IOException ie) {
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЬреЛ рд╣рдореЗрд╢рд╛ рд╣рд░рд╛ рд╣реЛрддрд╛ рд╣реИ? =)ред рд▓реВрдк рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛, рдЬреЛ рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХрднреА рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдФрд░ рдЕрдВрддрд┐рдо рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рдХрдерди рдХреЗ
рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВред рдирддреАрдЬрддрди, рдРрд╕реА рд╕реНрдерд┐рддрд┐
i <start рддреБрд░рдВрдд рдЭреВрдареА рд╣реЛ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдореИрдВ <(рдкреНрд░рд╛рд░рдВрдн + n) рдХреЛ рд▓реВрдк рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛ред
MapReduce
V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдмрд╛рдЗрдЯрдЕрдо <0' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред DataWriter.java (322)
GenerateOutput writeSegment(long byteAm, OutputStream out) throws IOException { long headerLen = getHeaderLength(); if (byteAm < headerLen) {
рд╣рд╛рд▓рдд
рдмрд╛рдЗрдЯрдПрдПрдо <0 рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реИред рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рдФрд░ рдЭрд▓рдХ рдХреЗ рдКрдкрд░ рдХреЛрдб рджреЗрдВред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рдСрдкрд░реЗрд╢рди
рдмрд╛рдЗрдЯ рддрдХ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИ
- = рд╢реАрд░реНрд╖ рд▓реЗрдЦ , рддреЛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐
рдмрд╛рдЗрдЯрдЕрдо> = рд╢реАрд░реНрд╖ рд▓реЗрдЦред рдпрд╣рд╛рдБ рд╕реЗ, рдШрдЯрд╛рд╡ рдХреЗ рдмрд╛рдж,
рдмрд╛рдЗрдЯрдП рд╡реИрд▓реНрдпреВрдПрд╡рд┐рд▓ рдХрднреА рднреА рдирдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣рдореЗрдВ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдерд╛ред
HDFS
V6072 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'normalFile' рдХреЗ рдмрдЬрд╛рдп 'normalFile' рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред TestWebHDFS.java (625), TestWebHDFS.java (615), TestWebHDFS.java (614), TestWebHDFS.java (624)
public void testWebHdfsErasureCodingFiles() throws Exception { .... final Path normalDir = new Path("/dir"); dfs.mkdirs(normalDir); final Path normalFile = new Path(normalDir, "file.log"); ....
рдорд╛рдиреЛ рдпрд╛ рди рдорд╛рдиреЛ, рдпрд╣ рдлрд┐рд░ рд╕реЗ V6072 рд╣реИ! рдмрд╕ рдЪрд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
normalDir рдФрд░
normalFileредV6027 рдЪрд░ рдХреЛ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЕрди-рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рд╣реИред TestDFSAdmin.java (883), TestDFSAdmin.java (879)
private void verifyNodesAndCorruptBlocks( final int numDn, final int numLiveDn, final int numCorruptBlocks, final int numCorruptECBlockGroups, final DFSClient client, final Long highestPriorityLowRedundancyReplicatedBlocks, final Long highestPriorityLowRedundancyECBlocks) throws IOException { .... final String expectedCorruptedECBlockGroupsStr = String.format( "Block groups with corrupt internal blocks: %d", numCorruptECBlockGroups); final String highestPriorityLowRedundancyReplicatedBlocksStr = String.format( "\tLow redundancy blocks with highest priority " + "to recover: %d", highestPriorityLowRedundancyReplicatedBlocks); final String highestPriorityLowRedundancyECBlocksStr = String.format( "\tLow redundancy blocks with highest priority " + "to recover: %d", highestPriorityLowRedundancyReplicatedBlocks); .... }
рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╡реИрд░рд┐рдПрдмрд▓
рдЙрдЪреНрдЪрддрдордкреНрд░рд╛рдгрдкреНрд░рддрд┐рд╖реНрдард╛ рд▓реЛрд╡реЗрдбрд░реЗрдбреЗрдВрд╕реАрд░реЗрдкреНрд▓рд┐рдХреЗрдЯреЗрдбрдмреНрд▓реЙрдХрд╕реНрдЯрд╕реНрдЯ рдФрд░
рдЙрдЪреНрдЪрддрдордкреНрд░рд╛рдерд┐рд░реНрдпрд▓реЛрд╡реЗрдбрд░реЗрдбреЗрдВрд╕реАрдЬреЗрдХрдмреНрд▓реЙрдХрд╕реНрдЯреНрд░реАрдо рдПрдХ рд╣реА рдореВрд▓реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЪрд░ рдХреЗ рдирд╛рдо рд▓рдВрдмреЗ рдФрд░ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм
рдЙрдЪреНрдЪрддрдордкреНрд░рд╛рдгрддрд╛ LowRedundancyECBlocksStr рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ
рд╣реБрдП , рд▓реЗрдЦрдХ рдХреЛ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ
рдЙрдЪреНрдЪрддрдордкрдж LityRowundancyECBlocks ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрднреА рднреА рдкреНрд░рд╛рд░реВрдк рд░реЗрдЦрд╛ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TestReplaceDatanodeFailureReplication.java (222)
private void verifyFileContent(...., SlowWriter[] slowwriters) throws IOException { LOG.info("Verify the file"); for (int i = 0; i < slowwriters.length; i++) { LOG.info(slowwriters[i].filepath + ....); FSDataInputStream in = null; try { in = fs.open(slowwriters[i].filepath); for (int j = 0, x;; j++) { x = in.read(); if ((x) != -1) { Assert.assertEquals(j, x); } else { return; } } } finally { IOUtils.closeStream(in); } } }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓реВрдк рдореЗрдВ
i ++ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐
(int i = 0; i <slowwriters.length; i ++) {....} рд▓реВрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАред рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░рдгред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ, рд╣рдо рдереНрд░реЗрдб рдХреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдЧреЗ рдХреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдзреАрдореЗ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ [0] рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ
(int j = 0, x ;; j ++):- рдпрджрд┐ рд╣рдо рдХреБрдЫ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрдврд╝реЗ рд╣реБрдП рдмрд╛рдЗрдЯ рдХреА рддреБрд▓рдирд╛ рдЬреЗ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ (рдпрджрд┐ рдЬрд╛рдБрдЪ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ);
- рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрд╛рдБрдЪреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкрд╣реБрдБрдЪ рдЬрд╛рддреЗ рд╣реИрдВ (рд╣рдо -1 рдкрдврд╝рддреЗ рд╣реИрдВ), рддреЛ рд╡рд┐рдзрд┐ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЬреЛ рдХреБрдЫ рднреА
slowwriters [0] рдХреА рдЬрд╛рдБрдЪ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдмрд╛рдж рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ,
рд░рд┐рдЯрд░реНрди рдХреЗ рдмрдЬрд╛рдп
рдмреНрд░реЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
редрдпрд╛рд░реНрди
V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TestNodeManager.java (176)
@Test public void testCreationOfNodeLabelsProviderService() throws InterruptedException { try { .... } catch (Exception e) { Assert.fail("Exception caught"); e.printStackTrace(); } }
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
Assert.fail рд╡рд┐рдзрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░реЗрдЧреА рдФрд░ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдкрдХрдбрд╝реЗ рдЧрдП рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдпрд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдХреА рдЫрдкрд╛рдИ рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдореБрджреНрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡реИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрдИ рд╕рдорд╛рди рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдП рд╣реИрдВ:
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TestResourceTrackerService.java (928)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TestResourceTrackerService.java (737)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TestResourceTrackerService.java (685)
- ....
V6072 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'publicCache' рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ 'usercache' рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред TestResourceLocalizationService.java (315), TestResourceLocalizationService.java (309), TestResourceLocalizationService.java (307), TestResourceLocalizationService.java (313)
@Test public void testDirectoryCleanupOnNewlyCreatedStateStore() throws IOException, URISyntaxException { ....
рдФрд░ рдЕрдВрдд рдореЗрдВ, V6072 рдлрд┐рд░ рд╕реЗ =)ред рд╕рдВрджрд┐рдЧреНрдз рдЯреБрдХрдбрд╝рд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреИрд╢ рдФрд░
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреИрд╢ ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ рдХреЛрдб рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВред рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдмрдЧ, рджреЛрд╖ рдФрд░ рджреЛрд╖ рд╕реЗ рд╕рд╛рдл рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣)ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдЯреЗрд╕реНрдЯ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реАрди рд╣реИрдВред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рджреЛрд╖ рдЖрд╕рд╛рдиреА рд╕реЗ "рдЧреНрд░реАрди рдЯрд┐рдХ" рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдк рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдЖрдЬ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╕реЗ рдорд┐рд▓реЗ рд╣реИрдВ, рдПрдХ рд╣рд░рд╛ рдкрд░реАрдХреНрд╖рдг рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдлрд▓ рдЬрд╛рдБрдЪ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдмрд╛рд░, Apache Hadoop рдХреЛрдб рдЖрдзрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп, рдЙрддреНрдкрд╛рджрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рджреЛрдиреЛрдВ рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВред рдмрддрд╛ рджреЗрдВ рдХрд┐
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЗрд╕ рдЙрдкрдХреНрд░рдо рдХрд╛ рдкрд╣рд▓рд╛ рджрд╛рд╡реЗрджрд╛рд░ рд╣реИред